数组的方法

js数组方法总结
push() : 将一个元素添加到数组末尾,并返回修改后的新数组。
pop() : 将数组最后一个元素删除,返回被删除的那个值。
shift() : 将数组第一个元素删除,返回被删除元素的值,如果数组为空返回undefined。
unshift() : 把一个新的元素添加到数组开头,并返回新的数组。
join() : 把数组转换为字符串
sort() : 把数组从小到大排序
arr.sort(function(a,b){
                return a-b; //从小到大排序
                return b-a; //从大到小排序
           }); 
reverse() : 反转数组排序
arr.reverse()
var arr = [13, 24, 51, 3];
console.log(arr.reverse()); //[3, 51, 24, 13]
console.log(arr); //[3, 51, 24, 13](原数组改变)
concat() : 将参数放入原数组后返回,原数组本身不变,如果参数是数组,将值提出来。
arr.concat()
var arr = [1,3,5,7];
var arrCopy = arr.concat(9,[11,13]);
console.log(arrCopy); //[1, 3, 5, 7, 9, 11, 13]
console.log(arr); // [1, 3, 5, 7](原数组未被修改)
slice() : 截取类 如果不传参数,会返回原数组;如果一个参数,从该参数表示的索引开始截取,直至数组结束,返回这个截取数组,原数组不变;两个参数,从第一个参数对应的索引开始截取,到第二个参数对应的索引结束,但不包括第二个参数对应的索引上值,原数组不改变;最多接受两个参数。
var arr = [1,3,5,7,9,11];
var arrCopy = arr.slice(1);
var arrCopy2 = arr.slice(1,4);
var arrCopy3 = arr.slice(1,-2);
var arrCopy4 = arr.slice(-4,-1);
console.log(arr);       //[1, 3, 5, 7, 9, 11](原数组没变)
console.log(arrCopy);  //[3, 5, 7, 9, 11]
console.log(arrCopy2);  //[3, 5, 7]
console.log(arrCopy3);  //[3, 5, 7]
console.log(arrCopy4);  //[5, 7, 9]

arrCopy只设置了一个参数,也就是起始下标为1,所以返回的数组为下标1(包括下标1)开始到数组最后。
  arrCopy2设置了两个参数,返回起始下标(包括1)开始到终止下标(不包括4)的子数组。
  arrCopy3设置了两个参数,终止下标为负数,当出现负数时,将负数加上数组长度的值(6)来替换该位置的数,因此就是从1开始到4(不包括)的子数组。
  arrCopy4中两个参数都是负数,所以都加上数组长度6转换成正数,因此相当于slice(2,5)。

splice() : 截取类 没有参数,返回空数组,原数组不变;一个参数,从该参数表示的索引位开始截取,直至数组结束,返回截取的 数组,原数组改变;两个参数,第一个参数表示开始截取的索引位,第二个参数表示截取的长度,返回截取的 数组,原数组改变;三个或者更多参数,第三个及以后的参数表示要从截取位插入的值。
arr.splice()
var arr = [1,3,5,7,9,11];
var arrRemoved = arr.splice(0,2);
console.log(arr);   //[5, 7, 9, 11]
console.log(arrRemoved);    //[1, 3]
var arrRemoved2 = arr.splice(2,0,4,6);
console.log(arr);    // [5, 7, 4, 6, 9, 11]
console.log(arrRemoved2);  // []
var arrRemoved3 = arr.splice(1,1,2,4);
console.log(arr);   // [5, 2, 4, 4, 6, 9, 11]
console.log(arrRemoved3); //[7]
ES5新增的方法
indexOf() : 从前往后遍历,返回item在数组中的索引位,如果没有返回-1;通常用来判断数组中有没有某个元素。可以接收两个参数,第一个参数是要查找的项,第二个参数是查找起点位置的索引。
arr.indexof()
lastindexOf() : 它和indexof一样,区别就是它是从后向前找的。
arr.lastIndexOf()
var arr = [1,3,5,7,7,5,3,1];
console.log(arr.indexOf(5));       //2
console.log(arr.lastIndexOf(5));     //5
console.log(arr.indexOf(5,2));      //2
console.log(arr.lastIndexOf(5,4));   //2
console.log(arr.indexOf("5"));      //-1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值