在JavaScript中,slice()和splice()是兩個數組方法,它們有不同的功能和用法。
slice()方法返回一個新的數組,包含從原數組中選擇的元素。
它接受兩個參數,分別是起始索引和結束索引(可選)。起始索引包含在結果中,結束索引不包含在結果中。
如果不指定結束索引,則slice()方法會選擇從起始索引開始到數組末尾的所有元素。
原數組不會被修改。
示例:
const fruits = ['apple', 'banana', 'orange', 'mango'];
const selectedFruits = fruits.slice(1, 3);
console.log(selectedFruits); // ['banana', 'orange']
console.log(fruits); // ['apple', 'banana', 'orange', 'mango']
splice()方法用于修改原數組,可以刪除、替換或插入元素。
它接受三個或更多參數,第一個參數是起始索引,表示在哪里開始修改數組,第二個參數是要刪除的元素數量(可選),接下來的參數是要插入到數組中的元素(可選)。
splice()方法會修改原數組,并返回一個包含被刪除元素的新數組(如果有刪除的元素)。
示例:
const fruits = ['apple', 'banana', 'orange', 'mango'];
const removedFruits = fruits.splice(1, 2, 'grape', 'watermelon');
console.log(fruits); // ['apple', 'grape', 'watermelon', 'mango']
console.log(removedFruits); // ['banana', 'orange']
總結:
slice()方法返回一個新數組,不修改原數組;splice()方法修改原數組。
slice()方法接受起始索引和結束索引作為參數,返回選擇的元素;splice()方法接受起始索引、刪除元素數量和插入的元素作為參數,返回被刪除的元素。
slice()方法不會改變原數組,而splice()方法會改變原數組。