javascript 中 slice 和 splice 的區(qū)別如下:slice() 返回數(shù)組的新拷貝,不會改變原始數(shù)組;而 splice() 會修改原始數(shù)組。slice() 的語法為 slice(start, end),splice() 的語法為 splice(start, deletecount, …items)。slice() 從指定位置開始復(fù)制元素,splice() 從指定位置開始移除或替換元素。
JS 中 slice 與 splice 的區(qū)別
開門見山
slice()
和 splice()
是 JavaScript 中用于操作數(shù)組的兩個方法,但它們的功能不同。
詳細(xì)展開
slice()
返回數(shù)組的一份淺拷貝(新數(shù)組)。
不會修改原始數(shù)組。
語法:slice(start[, end])
參數(shù):
start
: 必選,從該索引開始復(fù)制元素。
end
: 可選,復(fù)制到該索引(不包括)。
例子:
<code class="js">const arr = [1, 2, 3, 4, 5]; const newArr = arr.slice(2); // [3, 4, 5]</code>
登錄后復(fù)制
splice()
從數(shù)組中移除或替換元素,并返回被移除的元素。
會修改原始數(shù)組。
語法:splice(start, deleteCount[, ...items])
參數(shù):
start
: 必選,從該索引開始移除元素。
deleteCount
: 必選,要移除的元素數(shù)量。
...items
: 可選,插入到 start
索引處的元素(如果指定)。
例子:
<code class="js">const arr = [1, 2, 3, 4, 5]; arr.splice(2, 2, 10, 11); // [1, 2, 10, 11, 5]</code>
登錄后復(fù)制
總結(jié)
slice() 返回數(shù)組的淺拷貝,不會修改原始數(shù)組。
splice() 從數(shù)組中移除或替換元素,會修改原始數(shù)組。