拼接和切片的区别是什么?
const array = [1, 2, 3, 4, 5];
array.splice(index, 1);
array.slice(index, 1);
拼接和切片的区别是什么?
const array = [1, 2, 3, 4, 5];
array.splice(index, 1);
array.slice(index, 1);
当前回答
另一个例子:
[2,4,8].splice(1, 2) -> returns [4, 8], original array is [2]
[2,4,8].slice(1, 2) -> returns 4, original array is [2,4,8]
其他回答
切片不改变原始数组,它返回新的数组,但拼接改变原始数组。
example: var arr = [1,2,3,4,5,6,7,8];
arr.slice(1,3); // output [2,3] and original array remain same.
arr.splice(1,3); // output [2,3,4] and original array changed to [1,5,6,7,8].
拼接方法的第二个参数不同于切片方法。在拼接中,第二个参数表示要删除的元素的计数,在切片中,它表示结束索引。
arr.splice(-3,-1); // output [] second argument value should be greater then
0.
arr.splice(-3,-1); // output [6,7] index in minus represent start from last.
-1代表最后一个元素,从-3到-1。 以上是拼接法与切片法的主要区别。
Splice和Slice是内置的Javascript命令,而不是特定的AngularJS命令。Slice返回从“start”到“end”说明符之前的数组元素。Splice改变实际的数组,从“start”开始,并保持指定的元素数量。谷歌有很多这方面的信息,只要搜索。
两者都返回相同的答案,但是:
SPlice将改变原始数组。 Slice不会改变原始数组。
S LICE =给出数组的一部分&没有分裂原始数组
SP LICE =给出数组的一部分&分裂原始数组
我个人觉得这更容易记住,因为这两个术语总是让我这个网页开发初学者感到困惑。
slice()方法将数组部分的副本返回到新的数组对象中。
$scope.participantForms.slice(index, 1);
这不会改变participantForms数组,而是返回一个包含原始数组中索引位置上的单个元素的新数组。
splice()方法通过删除现有元素和/或添加新元素来更改数组的内容。
$scope.participantForms.splice(index, 1);
这将在索引位置从participantForms数组中删除一个元素。
这些是Javascript的原生函数,与AngularJS无关。