js中的slice与splice区别是什么
999+|...条评论
在JavaScript中,spce()
和sppce()
是数组的两种常用方法,它们有不同的功能和用法。
spce(start, end)
:
spce()
方法用于从一个数组中提取(截取)指定位置的元素,然后返回一个新的数组,原始数组保持不变。
它接受两个参数:start
和end
。start
表示开始截取的位置(包括该位置),end
表示结束截取的位置(不包括该位置)。
如果省略end
参数,则会截取从start
位置到数组末尾的所有元素。
spce()
方法不会修改原始数组,而是返回一个从原始数组中截取的新数组。
示例:
let fruits = ['apple', 'banana', 'orange', 'mango', 'kiwi'];
let spcedFruits = fruits.spce(1, 3);
console.log(spcedFruits); // 输出: ['banana', 'orange']
// 原始数组不受影响
console.log(fruits); // 输出: ['apple', 'banana', 'orange', 'mango', 'kiwi']
sppce(start, deleteCount, item1, item2, ...)
:
sppce()
方法用于从数组中删除、替换或插入元素,同时修改原始数组,并返回被删除的元素组成的新数组。
它接受至少一个参数start
,表示开始修改的位置。
可选参数deleteCount
表示要删除的元素数量,如果省略或为0,则不删除任何元素。
可选参数item1, item2, ...
表示要插入到数组中的新元素。
sppce()
方法会修改原始数组,并返回一个由被删除元素组成的新数组。
示例:
let fruits = ['apple', 'banana', 'orange', 'mango', 'kiwi'];
let deletedFruits = fruits.sppce(1, 2, 'pear', 'grape');
console.log(fruits); // 输出: ['apple', 'pear', 'grape', 'mango', 'kiwi']
console.log(deletedFruits); // 输出: ['banana', 'orange']
// 删除元素
fruits.sppce(2, 1);
console.log(fruits); // 输出: ['apple', 'pear', 'mango', 'kiwi']
// 插入元素
fruits.sppce(1, 0, 'pineapple');
console.log(fruits); // 输出: ['apple', 'pineapple', 'pear', 'mango', 'kiwi']
总结:
spce()
方法是从数组中提取子数组,并返回一个新数组,不改变原始数组。
sppce()
方法则用于对数组进行修改,可以删除、替换和插入元素,并返回被删除的元素组成的新数组。