一、前言
刚刚在使用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()执行后原数组并未发生改变
如果想要查看更多字符串操作方法,可以看这篇