當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Array splice()用法及代碼示例


在本教程中,我們將借助示例了解 JavaScript 字符串 concat() 方法。

splice() 方法通過更改(添加/刪除)其元素來返回一個數組。

示例

let prime_numbers = [2, 3, 5, 7, 9, 11];

// replace 1 element from index 4 by 13
let removedElement = prime_numbers.splice(4, 1, 13);
console.log(removedElement);
console.log(prime_numbers);

// Output: [ 9 ]
//         [ 2, 3, 5, 7, 13, 11 ]

spice() 語法

用法:

arr.splice(start, deleteCount, item1, ..., itemN)

這裏,arr 是一個數組。

參數:

splice() 方法包含:

  • start - 更改數組的索引。
  • deleteCount(可選)- 要從 start 中刪除的項目數。
  • item1, ..., itemN(可選)- 要添加到 start 索引的元素。如果未指定,splice() 將僅從數組中刪除元素。

返回:

  • 返回一個包含已刪除元素的數組。

注意: splice()方法更改原始數組。

示例 1:使用 splice() 方法

let languages = ["JavaScript", "Python", "Java", "Lua"];

// replacing "Java" & "Lua" with "C" & "C++"
let removed = languages.splice(2, 2, "C", "C++");
console.log(removed); // [ 'Java', 'Lua' ]
console.log(languages); // [ 'JavaScript', 'Python', 'C', 'C++' ]

// adding elements without deleting existing elements
let removed1 = languages.splice(1, 0, "Java", "Lua");
console.log(removed1); // []
console.log(languages); // [ 'JavaScript', 'Java', 'Lua', 'Python', 'C', 'C++' ]

// removing 3 elements
let removed2 = languages.splice(2, 3);
console.log(removed2); // [ 'Lua', 'Python', 'C' ]
console.log(languages); // [ 'JavaScript', 'Java', 'C++' ]

輸出

[ 'Java', 'Lua' ]
[ 'JavaScript', 'Python', 'C', 'C++' ]
[]
[ 'JavaScript', 'Java', 'Lua', 'Python', 'C', 'C++' ]
[ 'Lua', 'Python', 'C' ]
[ 'JavaScript', 'Java', 'C++' ]

示例 2:將 splice() 用於不同的 deleteCount 值

  • 如果開始 > 數組長度,splice()不刪除任何內容並開始將參數附加到數組的末尾。
  • 如果開始 < 0, 索引從後往上計算 (數組長度 + 開始)。例如,-1是最後一個元素。
  • 如果數組長度 + 開始 < 0,它將從索引開始0.
let languages = ["JavaScript", "Python", "Java", "Lua"];

// does not removes, only appends to the end
let removed = languages.splice(5, 2, "C++");
console.log(removed); // []
console.log(languages); // ["JavaScript", "Python", "Java", "Lua", "C++"]

// remove last element and add 3 more elements
let removed1 = languages.splice(-1, 1, "Swift", "Scala", "Go");
console.log(removed1); // [ "C++" ]
console.log(languages); // ["JavaScript", "Python", "Java", "Lua", "Swift", "Scala", "Go"]

輸出

[]
["JavaScript", "Python", "Java", "Lua", "C++"]
[ 'C++' ]
["JavaScript", "Python", "Java", "Lua", "Swift", "Scala", "Go"]

示例 3:將 splice() 用於不同的起始值

  • 如果deleteCount 被省略或大於數組中剩餘的元素數,則會刪除從start 到數組末尾的所有元素。
  • 如果deleteCount0或者消極的,不刪除任何元素。但是,至少應指定一個新元素。
let languages = ["JavaScript", "Python", "Java", "Lua"];

// removes everything from start
let removed = languages.splice(1);
console.log(removed); // [ "Python", "Java", "Lua" ]
console.log(languages); // [ "JavaScript" ]

// remove none & add 3 more element
let removed1 = languages.splice(1, -2, "Swift", "Scala", "Go");
console.log(removed1); // [ ]
console.log(languages); // [ "JavaScript", "Swift", "Scala", "Go" ]

輸出

[ "Python", "Java", "Lua" ]
[ "JavaScript" ]
[ ]
["JavaScript", "Swift", "Scala", "Go"]

相關用法


注:本文由純淨天空篩選整理自 JavaScript Array splice()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。