splice
和 和有什么不一样slice
?
$scope.participantForms.splice(index, 1);
$scope.participantForms.slice(index, 1);
splice
和 和有什么不一样slice
?
$scope.participantForms.splice(index, 1);
$scope.participantForms.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 数组函数。
拼接与切片
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]
S LICE = 给出数组的一部分 &不拆分原始数组
SP LICE = 给出数组的一部分和SP点亮原始数组
我个人发现这更容易记住,因为这两个术语总是让我作为 Web 开发的初学者感到困惑。
这是一个简单的技巧来记住slice
vs之间的区别splice
var a=['j','u','r','g','e','n'];
// array.slice(startIndex, endIndex)
a.slice(2,3);
// => ["r"]
//array.splice(startIndex, deleteCount)
a.splice(2,3);
// => ["r","g","e"]
Trick to remember:
认为是"spl" (first 3 letters of splice)
“指定长度”的缩写,第二个参数应该是长度而不是索引