#### 1.reverse()
将数组的元素颠倒过来,也就是变成逆序,此方法会修改原数组
~~~
var arr=[1,2,3,4,5];
console.log(arr.reverse());//5,4,3,2,1
console.log(arr);//5,4,3,2,1
~~~
#### 2.sort()
默认对数组进行升序排序。此方法会修改原数组
~~~
var arr=[5,4,3,2,1];
arr.sort();
console.log(arr);//1,2,3,4,5
~~~
如果数组中 存放的不是整数呢?假设数组中有字符串1,10,9,100那么最终的排序结果却是1,10,100,9。这是因为sort是按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。
~~~
function compare(value1,value2){
return value1-value2;
}
}
var arr=["1","10","9","100"];
arr.sort(compare);
console.log(arr);//["1","9","10","100"]
~~~
两个字符串数字相减会转化为整数,所以当value1小于value2时会返回负数,当value1大于value2时会返回正数,sort会根据这些不同的返回值来进行排序(在这里就是按照字符串的数字值来排序)。
#### 3.concat()
数组的拼接,创建当前数组的副本,将接收到的参数添加到这个副本中并返回新构建的数组
~~~
var arr1=["black","white","red"];
var arr2=arr1.concat("blue");
console.log(arr2);//["black","white","red","blue"]
~~~
#### 4.slice()
可以把slice当作创建当前数组的子数组,它的参数代表数组的位置,当只有一个参数时,返回从该位置到数组末尾的子数组,当有两个参数时,返回起始位置到结束位置-1的子数组。
~~~
var arr=["red","green","blue","yellow"];
var arr1=arr.slice(1);
var arr2=arr.slice(1,3);
console.log(arr1);//["green","blue","yellow"]
console.log(arr2);//["green","blue"]
~~~
#### 5.splice()
splice可以说是数组的所有方法中最强大的方法了,它既可以实现删除,也可以实现插入,还可以实现替换。它接受三个参数,要删除的第一项的位置,要删除的项数,要替换的新数据。
如果指定前两个参数就可以实现删除,如果指定三个参数并且第二个参数为0,就是实现了插入,如果指定了三个参数就实现了替换。
splice在原数组上进行修改,并返回删除的项。
~~~
var arr=["red","green","blue","yellow"];
arr.splice(0,2);//删除数组中的前两项
console.log(arr);//["blue","yellow"]
arr.splice(0,0,"red","green");//插入
console.log(arr);//["red","green","blue","yellow"]
arr.splice(0,1,"black");//替换掉第一个元素
console.log(arr);//["black","green","blue","yellow"]
~~~
#### 6.indexOf()、lastIndexOf()
返回某个元素的位置,indexOf是从数组的开头查找,lastIndexOf是从后往前找
~~~
var arr=[1,2,3,1,5];
console.log(arr.indexOf(1));//0
console.log(arr.lastIndexOf(1));//3
~~~
- html/css
- 不一样的css3之Transform
- 不一样的css3之Transition
- 不一样的css3之Animation
- Less初学
- Sass初学
- 水平垂直居中那些事
- css优先级
- css基础教学
- javascript
- 浅谈javascript事件处理程序
- cookie,localStorage,sessionStorage的区别
- Ajax
- 说说JSON
- 数组常用的方法
- 字符串常用的方法
- 闭包之我的理解
- 常用DOM操作
- 扒一扒所谓的面向对象
- JS Blob对象
- ES6学习笔记(一)
- ES6学习笔记(二)
- 用ES6书写React
- React+Redux实战总结
- 基于Express搭建开发环境
- 其他
- github初学
- 轻松配置Webpack
- asp.net学习笔记
- ado.net
- 如何使用ajax进行前后端交互
- 银行大厅自助服务系统需求分析
- 西电银行开发手册
- 接口
- ajax