其他分享
首页 > 其他分享> > 《JS精粹》数组相关方法

《JS精粹》数组相关方法

作者:互联网

由于这几个函数的返回值和对原数组进行的操作都容易混淆,比如测试题

var a = [1, 2, 3],经过下列哪项可以生成一个新数组,b = [4, 3, 2, 1]

A.var b = a.reverse().unshif('4');

B.var b = a.reverse().splice(0, 0, 4);

C.var b = a.concat(4).reverse();

上面A和B选项结果都是a是[4,3,2,1],而不是b。

下面将常用的数组方法总结在下面:

array.pop(); //原数组移除最后一个元素,返回移除的项。
array.shift();//原数组移除第一个元素,返回移除的项。

array.push(item...);//原数组在尾部添加元素,返回新长度。
array.unshit(item...); //原数组在头部添加元素,返回新长度。

array.concat(item...); //原数组无变化,添加元素,返回新数组。
array.slice(start, end); //原数组无变化,删除array[start]到array[end](默认为array.length)的值,返回一个新数组。
array.splice(start, deleteCount, item...); //原数组移除从array[start]到array[start+deleteCount]的元素,并用item...替换。返回被移除项。参数默认值为(0,length,'')

array.reverse(); //翻转原数组,并返回新数组。
array.sort(comparefn); //原数组排序。返回的是原数组。
array.join(separator); //返回一个字符串。把数组狗造成字符串,用分隔符分隔再连接在一起,默认是都好。也可以是空字符串。

由此可见,可以返回新数组的有,concat(),slice(),reverse();前两个原数组不发生改变,reverse()原数组也改变了。其它的函数就是有删除项的就返回删除项,添加元素的就返回新长度,sort特殊,返回自己。

标签:返回,精粹,reverse,JS,start,数组,移除,array
来源: https://blog.csdn.net/huaxiaoduo1949101/article/details/100118038