拼接和切片的区别是什么?
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
//splice & will modify the origin array
const arr1 = [1,2,3,4,5];
//slice & won't modify the origin array
const arr2 = [1,2,3,4,5]
console.log("----before-----");
console.log(arr1.splice(2, 1));
console.log(arr2.slice(2, 1));
console.log("----after-----");
console.log(arr1);
console.log(arr2);
Let log = console.log; //splice &将修改原始数组 Const arr1 = [1,2,3,4,5]; //slice &不会修改原始数组 Const arr2 = [1,2,3,4,5] 日志(前”————“); 日志(arr1。接头(2,1)); 日志(arr2。片(2,1)); 日志(”——后——”); 日志(arr1); 日志(arr2);
其他回答
slice()方法复制数组的给定部分,并将复制的部分作为一个新数组返回。它不会改变原始数组。
splice()方法通过向数组中添加或删除元素来更改数组。
下面是切片语法:
array.slice(from, until);
// example
let array = [1, 2, 3, 4, 5, 6]
let newArray = array.slice(1, 3)
console.log({array, newArray})
// output: array: [1, 2, 3, 4, 5, 6], newArray: [2, 3]
注意:Slice()方法也可以用于字符串。
下面是拼接的语法:
//For removing elements, we need to give the index parameter,
// and the number of elements to be removed
array.splice(index, number of elements to be removed);
//example
let array = [1, 2, 3, 4, 5, 6]
let newArray = array.splice(1, 3)
console.log({array, newArray})
// output: array: [1, 5, 6], newArray: [2, 3, 4]
注意:如果不定义第二个形参,则从给定索引开始的每个元素都将从数组中删除
// For adding elements, we need to give them as the 3rd, 4th, ... parameter
array.splice(index, number of elements to be removed, element, element);
//example
let array = [1, 2, 3, 4, 5, 6]
let newArray = array.splice(1, 3, 'a', 'b')
console.log({array, newArray})
// output: array: [1, ,'a', 'b', 5, 6], newArray: [2, 3, 4]
相关链接:
让我们来澄清JavaScript中slice()、splice()和split()方法的混淆
Array.prototype.slice ()
Array.prototype.splice ()
这两种方法对初学者来说很容易混淆。我研究了slice和splice的4个关键点。你可以阅读更多关于切片和拼接的细节。
JavaScript切片
Slice只是从数组中返回指定数量的元素。例如,你有一个包含10个元素的数组,你只想从第二个下标中获取3个元素。 它不修改原始数组,而是返回元素的数量。 slice的语法是array。片(startingIndex elementCount)
在JavaScript中拼接
Splice还可以从与切片相同的数组中返回所选元素,但它会修改原始数组。 您可以在特定索引上使用拼接在数组中添加新元素 您可以同时删除指定的元素以及添加新元素。 使用splice的语法是array。splice(startingIndex, removeCounter, newElement(s)[optional])
总结
切片的目的是只从数组中获取选定的元素,而不修改原始数组。 当您希望通过删除元素和添加新元素来修改原始数组时,应该使用拼接。
大多数答案都太啰嗦了。
拼接和切片返回数组中其余的元素。 拼接使被操作的数组发生突变,删除元素,而切片没有。
S LICE =给出数组的一部分&没有分裂原始数组
SP LICE =给出数组的一部分&分裂原始数组
我个人觉得这更容易记住,因为这两个术语总是让我这个网页开发初学者感到困惑。
Splice和Slice是内置的Javascript命令,而不是特定的AngularJS命令。Slice返回从“start”到“end”说明符之前的数组元素。Splice改变实际的数组,从“start”开始,并保持指定的元素数量。谷歌有很多这方面的信息,只要搜索。