JavaScript Array splice vs slice
2022-08-30 00:04:16
和 有什么区别?splice
slice
const array = [1, 2, 3, 4, 5];
array.splice(index, 1);
array.slice(index, 1);
和 有什么区别?splice
slice
const array = [1, 2, 3, 4, 5];
array.splice(index, 1);
array.slice(index, 1);
splice()
更改原始数组,而不更改,但它们都返回数组对象。slice()
请参阅以下示例:
var array=[1,2,3,4,5];
console.log(array.splice(2));
这将返回 。原始数组受到影响,导致 为 。[3,4,5]
array
[1,2]
var array=[1,2,3,4,5]
console.log(array.slice(2));
这将返回 。原始数组不受影响,从而导致 。[3,4,5]
array
[1,2,3,4,5]
以下是简单的小提琴,证实了这一点:
//splice
var array=[1,2,3,4,5];
console.log(array.splice(2));
//slice
var array2=[1,2,3,4,5]
console.log(array2.slice(2));
console.log("----after-----");
console.log(array);
console.log(array2);
Splice 和 Slice 都是 Javascript Array 函数。
拼接与切片
splice() 方法返回数组中已删除的项,slice() 方法将数组中的选定元素作为新的数组对象返回。
splice() 方法更改原始数组,slice() 方法不会更改原始数组。
splice() 方法可以采用 n 个参数,slice() 方法可以采用 2 个参数。
拼接示例
参数 1:索引,必需。一个整数,它指定在哪个位置添加/删除项,使用负值指定数组末尾的位置。
参数 2:可选。要删除的项目数。如果设置为 0(零),则不会删除任何项目。如果未通过,则将删除提供索引中的所有项目。
参数 3...n:可选。要添加到数组中的新项。
var array=[1,2,3,4,5];
console.log(array.splice(2));
// shows [3, 4, 5], returned removed item(s) as a new array object.
console.log(array);
// shows [1, 2], original array altered.
var array2=[6,7,8,9,0];
console.log(array2.splice(2,1));
// shows [8]
console.log(array2.splice(2,0));
//shows [] , as no item(s) removed.
console.log(array2);
// shows [6,7,9,0]
切片与示例
参数 1:必需。一个整数,它指定从何处开始选择(第一个元素的索引为 0)。使用负数从数组的末尾进行选择。
参数 2:可选。一个整数,它指定在何处结束所选内容,但不包括在内。如果省略,则将选择从数组的起始位置到结束的所有元素。使用负数从数组的末尾进行选择。
var array=[1,2,3,4,5]
console.log(array.slice(2));
// shows [3, 4, 5], returned selected element(s).
console.log(array.slice(-2));
// shows [4, 5], returned selected element(s).
console.log(array);
// shows [1, 2, 3, 4, 5], original array remains intact.
var array2=[6,7,8,9,0];
console.log(array2.slice(2,4));
// shows [8, 9]
console.log(array2.slice(-2,4));
// shows [9]
console.log(array2.slice(-3,-1));
// shows [8, 9]
console.log(array2);
// shows [6, 7, 8, 9, 0]