数组API理解之splice

王小玟 2019-04-02 10:34:28
数组API之splice的理解


splice这个API虽说不常用,但时不时的也会用一下的。话不多说,开始吧。

总的来说,根据splice()括号中的参数的不同,splice可分别实现三个功能:①删除数组元素;②替换数组元素;③为数组插入元素。
注意【splice这个方法会改变原数组】


以下面这个数组为例,我们分别了解一下每个功能如何实现
var arr = [1,2,3,4,5,6,7,8,9];

①删除数组元素:当splice()中的参数个数为2个或1个时,为删除功能
    
var arr = [1,2,3,4,5,6,7,8,9];
arr.splice(2,1);
console.log(arr);
//结果为[1,2,4,5,6,7,8,9]
/*
当splice(a,b)中的参数为2个时:
splice(a,b)中,a代表一个开始位置的索引(是按照数组下标算的,即从0开始),而b代表的是删除元素的
个数(删除时包括a),从a开始(包括a),供删除b个元素。

当splice(a)中的参数为1个时:
splice(a)中,a还是代表一个开始位置的索引,但是会直接删除a及a后面的所有元素。

*/


②替换数组元素:当splice()中的参数个数为3个时,为替换功能

var arr = [1,2,3,4,5,6,7,8,9];
arr.splice(2,3,77,88,99);
console.log(arr);
//结果为[1,2,77,88,99,6,7,8,9]
/*
首先说明,这里已经不是三个参数,三为什么说三个参数?因为除第1、2个参数外,其他所有参数可看成一个参
数,下面详细讲解。

arr.splice(a,b,c)中,a代表一个开始位置的索引(从0开始),b表示"下场"几个,c表示准备上场的元素(下场
多个,即可上场多个,所以c可以是多个值,值与值之间用‘,’隔开)

也可以这样理解:b仍然表示删除,而c为b删除后的补充。
*/


③为数组插入元素:(如果理解了上面的,这个就好理解了)当参数为三个且第二个参数为0时就是插入功能


var arr = [1,2,3,4,5,6,7,8,9];
arr.splice(2,0,77,88,99);
console.log(arr);
//结果为[1,2,77,88,99,3,4,5,6,7,8,9]
/*
当splice(a,b,c)中b为0时,即表示“不删除”,所以会实现插入功能
*/

注意:这三种功能都会改变原数组!!!


...全文
127 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
王小玟 2019-04-02
  • 打赏
  • 举报
回复
引用 2 楼 尼古拉斯·佩奇 的回复:
受教受教,get了
共勉
  • 打赏
  • 举报
回复
受教受教,get了
改天换地 2019-04-02
  • 打赏
  • 举报
回复

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧