splice() 会改变原数组,返回的是改变的内容;
splice() 方法可以删除、插入或者修改数组元素,然后返回被删除的项目。
第一个参数是必填的,表示要操作的起始位置;
第二个参数也是必填的,表示删除的数量;
第三个参数是选填的,表示的是插入的新元素
slice() 不会改变原数组,返回一个新的数组。
slice() 方法的作用呢,就是从已有的数组中返回选定的元素,返回一个新的数组。
第一个参数是必填的,表示要选取的起始位置;
第二个参数是选填的,表示选取的结束位置。如果没有指定该参数,那默认是从 start 到数组结束的所有元素。
有 3 种方法可以删除数组的最后一个元素:
① array.pop()
② array.splice(-1, 1)
③ delete array[array.length-1]
splice() 会改变原数组,返回的是改变的内容;
splice() 方法可能是数组中的最强大的方法之一了,使用它的形式有很多种,它会向/从数组中添加/删除项目,然后返回被删除的项目。
该方法会改变原始数组。
其使用语法如下:arrayObject.splice(index, howmany, item1,..., itemX)
index:必需,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置;
howmany:必需,要删除的项目数量。如果设置为 0,则不会删除项目;
item1,..., itemX:可选,向数组添加的新项目。从上面参数可知,splice 主要有三种使用形式:
① 删除:需要给 splice() 传递两个参数,即要删除的第一个元素的位置和要删除的元素的数量;
② 插入:
需要给 splice() 传递至少三个参数,即开始位置、0(要删除的元素数量)、要插入的元素;
③ 替换:
splice() 可以在删除元素的同时在指定位置插入新的元素。同样需要传入至少三个参数,即开始位置、要删除的元素数量、要插入的元素。要插入的元素数量是任意的,不一定和删除的元素数量相等。
// 删除: ["two","three"] let array1 = ["one","two", "three", "four", "five"]; console.log(array1.splice(1, 2)); // ["two", "three"]; console.log(array1) // ["one", "four", "five"] // 插入996 let array2 = ["one","two", "three", "four", "five"]; console.log(array2.splice(2, 0, 996)) // [] console.log(array2) // ["one","two", 996, "three", "four", "five"]; // 替换 ['three'] let array3 = ["one","two", "three", "four", "five"]; console.log(array3.splice(2, 1, 996)) // ["three"] console.log(array3) // ["one","two", 996, "four", "five"]
slice() 不会改变原数组,会返回一个新的数组。
slice() 方法可从已有的数组中返回选定的元素,返回一个新的数组,包含从 start 到 end(不包括该元素)的数组元素。
该方法并不会修改数组,而是返回一个子数组。
其使用语法如下:arrayObject.slice(start, end)
start:必需,规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推;
end:可选,规定从何处结束选取,该参数是数组片断结束处的数组下标,如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
let array = ["one", "two", "three", "four"]; console.log(array.slice(0)); // ["one", "two", "three", "four"] console.log(array.slice(2, 3)); // ["three"]
有三种方法可以删除数组的最后一个元素
① array.pop()
② array.splice(-1, 1)
③ delete array[array.length-1]