js数组方法(总结)

测试数组arr = [2,0,1,6];
下面各个方法对arr的测试互不影响。

shift()
删除并返回数组的第一个元素。

console.log(arr.shift());           //2
console.log(arr);                   //[1,0,6]

pop()
删除并返回数组的最后一个元素。

console.log(arr.pop());             //6
console.log(arr);                   //[2,0,1]

unshift(arg1,arg2,…)
向数组的开头添加一个或更多元素,并返回新的长度。
直接修改原有的数组,下标0处插入需要添加的值,已经存在的元素顺次地移到较高的下标处

console.log(arr.unshift(9,3,4));    //7
console.log(arr);                   //[9,5,4,2,0,1,6]

push(arg1,arg2,…)
向数组的末尾添加一个或多个元素,并返回新的长度。
直接修改数组

console.log(arr.push(9,5,4));       //7
console.log(arr);                   //[2,0,1,6,9,5,4]

concat(arr1,arr2,…)
连接两个或多个数组。
返回被连接数组的一个副本,原数组不变

var c = [2,0];
var d = [1,5]
console.log(arr.concat(c, d));      //[2,0,1,6,2,0,1,5]
console.log(arr);                   //[2,0,1,6]

join(str)
返回由str把数组元素连接成的一个字符串

console.log(arr.join(''));          //2016
console.log(arr);                   //[2,0,1,6]
//省略参数
console.log(arr.join());            //2,0,1,6

reverse()
颠倒数组中元素的顺序,数组结构改变,返回数组

console.log(arr.reverse());         //[6,1,0,2]
console.log(arr);                   //[6,1,0,2]

slice(start,end【不包括该元素】)
返回一个由start,end选择的数组
负值表示从尾部选取元素

console.log(arr.slice(1));          //[0,1,6]
console.log(arr);                   //[2,0,1,6]

console.log(arr.slice(0));          //[2,0,1,6]
console.log(arr.slice(-4));         //[2,0,1,6]
console.log(arr.slice(1,3));        //[0,1]
console.log(arr.slice(1,-1));       //[0,1]
console.log(arr.slice(-3,-1));      //[0,1]
console.log(arr.slice(-3,3));       //[0,1]

splice(index,deleteNum,arg1,arg2,…)
和这个方法可谓数组最全的方法,可以实现数组元素的,添加,修改,删除
index:操作(添加、删除)开始的位置,必选
delete:删除的数目,0表示不删除,必选
arg:添加的元素(一个或多个),可选(用于删除,修改)
返回值:删除操作返回删除元素组成的数组,其他操作返回空数组

//添加,向位置1添加数值1
console.log(arr.splice(1,0,1));     //[]
console.log(arr);                   //[2,1,0,1,6]

console.log(arr.splice(1,0,3,8));   //[]
console.log(arr);                   //[2,3,8,1,0,1,6]

//删除,从位置2开始删除2个数值
console.log(arr.splice(2,2));       //[8,1]
console.log(arr);                   //[2,3,0,1,6]

//修改,将位置1的数值改为9
console.log(arr.splice(1,1,9));     //[3]
console.log(arr);                   //[2,9,0,1,6]

valueOf()
w3c解释,我还不太理解
valueOf() 方法返回 Array 对象的原始值。该原始值由 Array 对象派生的所有对象继承。valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

console.log(arr.valueOf());         //[2,0,1,6]
console.log(arr);                   //[2,0,1,6]

toString()
把数组转换为字符串,并返回结果

console.log(arr.toString());        //2,0,1,6
console.log(typeof arr.toString()); //string
console.log(arr);                   //[2,0,1,6]

toLocaleString()
把数组转换为本地字符串。

console.log(arr.toLocaleString());  //2,0,1,6
console.log(arr);                   //[2,0,1,6]
//特定用法
var date = new Date();
console.log(date);                  //Thu Feb 04 2016 19:51:01 GMT+0800 (中国标准时间)
console.log(date.toLocaleString()); //2016/2/4 下午7:51:01

sort()
没有使用参数,将按字母顺序对数组中的元素进行排序
返回排序后的数组

var c = ['c','d','a'];
console.log(c.sort());          //['a','c','d']
console.log(c);                 //['a','c','d']

对于sort方法,上面我只进行了字符串排序,为什么不进行数字呢? 大家平时可能数字sort排序也用过,感觉可以的,可以是可以,那种sort排序有时候会出现问题,下面有好的方法,希望借鉴~

//升序排序
console.log(arr.sort(function(a, b){
    return a - b;
}));
console.log(arr);                 //[0,1,2,6]

//降序排序
console.log(arr.sort(function(a, b){
    return b - a;
}));
console.log(arr);                 //[6,2,1,0]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值