《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