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

时间:2021-10-19 00:30:03

一、前言

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

官方说明:

二、定义和用法

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

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

三、语法

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

参数 描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
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()执行后原数组并未发生改变

 如果想要查看更多字符串操作方法,可以看这篇