是否改变原数组的常用方法归纳

最近有朋友面试,问我面试题时发现js很多东西都有点生疏了,需要来重新复习一下

以下是常见数组方法的返回值及对原数组的影响

改变原数组的:

shift:将第一个元素删除并且返回删除元素,空即为undefined

unshift:向数组开头添加元素,并返回新的长度

pop:删除最后一个并返回删除的元素

push:向数组末尾添加元素,并返回新的长度

reverse:颠倒数组顺序

sort:对数组排序

splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回

不改变原数组的:

concat:连接多个数组,返回新的数组

join:将数组中所有元素以参数作为分隔符放入一个字符

slice:slice(start,end),返回选定元素

map,filter,some,every等不改变原数组

splice和slice的区别:

splice(i,j,”a”) 删除,添加元素,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。从i开始删j个(包括i),并将”a”插入到i处。

slice(start,end) 从某个已有的数组返回选定的元素,从start位开始返回到end(包括start不包括end)如果是负数,表示从数组尾部进行计算(同样:包括start不包括end),请注意,该方法并不会修改数组,而是返回一个子数组。

splice()的强大(删、增、替换数组的元素)

<span style="font-size:18px;">处理数组的方法很多,javascript splice()算是最强大的了,它可以用于插入、删除或替换数组的元素。下面来一一介绍! 

1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 

2.插入-向数组指定位置插入任意项元素。三个参数,第一个参数(其实位置),第二个参数(0),第三个参数(插入的项) 

3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项) 

<strong>看下面这段代码就明白了</strong> 

</span> 

<span style="font-size:18px;">var lang = ["php","java","javascript"]; 

//删除 

var removed = lang.splice(1,1); 

alert(lang); //php,javascript 

alert(removed); //java ,返回删除的项 

//插入 

var insert = lang.splice(0,0,"asp"); //从第0个位置开始插入 

alert(insert); //返回[] 

alert(lang); //["asp", "php", "java", "javascript"] 

//替换 

var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项 

alert(lang); //asp,c#,ruby ,javascript 

alert(replace); //php,返回删除的项 </span> 

————————————————

版权声明:本文为CSDN博主「cristina_song」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/cristina_song/article/details/77917404

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容