关于js中splice方法返回的结果

  刚刚在使用splice()方法,发现这个方法返回的是删除后的数组元素,如果要获取删除指定元素后的数组,直接调用原来的数组即可!因为splice()会改变原来数组!之前对splice()方法一直不熟悉,写个随笔记录一下。

官方说明:

定义和用法

  splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

  注释:该方法会改变原始数组。

语法

  arrayObject.splice(index,howmany,item1,.....,itemX)

例子1:

var arr = [1,2,3,4]
 
console.log(arr.splice(1,1));//[2]
console.log(arr);//[1,3,4]
   结果:
  [2]   [1,3,4]
      解析:splice()删除指定元素后返回被删除的元素。而该方法作用在arr数组上,所以原来的数组也被改变,变成[1,3,4].我们可以根据需要选择相应的结果.
 
最后附上和splice相似的方法:slice

  slice

 
   定义:slice() 方法可从已有的数组中返回选定的元素。
   使用方法:arr.slice(start,end);//start为初始位置,end为结尾位置,返回的结果是从start到end (不取)的新数组
        arr.slice(start);//选取从start开始直至最后一个元素
     例子:
  
var arr1 = [1,2,3,4];
console.log(arr1.slice(1)); //[2, 3, 4]
console.log(arr1.slice(1,2));//[2]
console.log(arr1);//[1,2,3,4]

   解析: arr1.slice(1)没有指定结尾位置,则默认选取至最后一个元素(注:最后一个元素会被选)

       arr1.slice(1,2) 指定从1开始选取,到2结束,但是不选择2

     和splice()不一样,slice()执行后原数组并未发生改变

 

猜你喜欢

转载自www.cnblogs.com/soyxiaobi/p/9257609.html