博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对于数组的操作:splice与slice
阅读量:6764 次
发布时间:2019-06-26

本文共 1653 字,大约阅读时间需要 5 分钟。

                          <!--splice: 删除并 / 或添加数组元素-->

特点:直接改变原数组,并返回被删除后的对象.

语法 / 用法:array.splice(start);

          array.splice(start,deleteCount);

          array.splice(start,deleteCount,item1,item2...);

1、start:为数组索引,means从这个索引开始(包含这个索引)删除数组内的元素。如果没有deleteCount,就代表删除索引之后所有的元素。

2、deleteCount: 为总共删除几个元素,means从start开始(包含Start)一共删除多少个元素。

3、item1,item2...: 为需要添加进数组的新元素。means先从Start开始删除,删除deleteCount(没有则删除Start及Start后所有的元素)个元素后,再新增item1.item2...等指定的新元素。

eg: let array = [ h, e, l, l, o];

   let arr = array.splice(1);      ->   array = [ h ];  arr = [ e, l, l, o ];  ( 从索引为1的值开始删除,删除到最后一个元素)

   let ar = array.splice(1,1);       ->   array = [ h, l, l, o ];   arr = [ e ];  (从索引为1的值开始删除,并且总共只删除一个元素)

   let a = array.splice(1,1,'hi');      ->   array = [ h, hi, l, l, o];   arr = [ e ];  (从索引为1的值开始删除,总共只删除一个元素,并且在索引为1的位置插入一个字符串'hi')

 

                        <!--slice: 把从开始不包括结束的元素拷贝至一个新的数组对象-->

特点:不改变原数组,返回操作后取得的对象.

语法 / 用法 :array.slice();

      array.slice(begin);

      array.slice(begin,end);

1、begin为从索引begin开始取数。没有end就取到数组末尾。没有begin也没有end,就从0取到数组末尾。

2、有begin,也有end的话,包含begin开始取数,不包含end

eg: let array = [ h, e, l, l, o];

   let arr = array.slice();      ->   array = [ h, e, l, l, o];  arr = [ h, e, l, l, o];

   let ar = array.slice(1,1);       ->   array = [ h, e, l, l, o];   arr = [  ];  ( 从索引1开始,但是又不包括索引1,所以取得的值为空数组 )

   let a = array.slice(1,2);      ->   array = [ h, e, l, l, o];   arr = [ e ];  ( 从索引1开始,包括索引1,取到索引为2的位置,但是不包括索引为2的值)

个人认为MDN上讲的非常详细:

splice -> https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

slice  -> https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

转载于:https://www.cnblogs.com/coconutGirl/p/7766106.html

你可能感兴趣的文章
oracle存储过程调试
查看>>
行级级触发器变通成语句级触发器-变通处理
查看>>
Oracle技术_Oracle口令文件
查看>>
网络RIP学习
查看>>
MySQL基本操作总结
查看>>
Eclipse快捷键指南
查看>>
160824华为Mate7创建一键锁屏快捷方式
查看>>
公司内部系统的网络映射设置问题
查看>>
2010年05月15-16日在宁波实施小额外贸网站B2C、商品展示网站心得体会总结
查看>>
【MySQL优化】优化Linux读取性能,不使用atime属性
查看>>
windows注册表
查看>>
质点碰撞和卢瑟福公式
查看>>
web服务器性能概述
查看>>
flash调用js后,textbox中不能切换输入法的问题
查看>>
内存数据库Tokyo Cabinet在电子商务网站中的应用
查看>>
mysql数据库存储引擎(1)
查看>>
Linux中apache的配置
查看>>
网络的高可用性
查看>>
《Zabbix-ICMP ping监控添加方法》-7
查看>>
打印机常见问题与解决方法
查看>>