slice()、splice()、split() 的差異


Posted by KUAS on 2025-02-22

在 JavaScript 中,slice()splice()split() 都用來操作字串或陣列,但它們的用途不同

1. slice() - 回傳子陣列或子字串(不修改原本的值)

  • 適用於:字串、陣列
  • 語法array.slice(start, end)string.slice(start, end)
  • 特點
    • 不會改變原陣列或字串
    • 回傳選取範圍的新陣列或新字串

範例:字串

let str = "Hello World";
console.log(str.slice(0, 5)); // "Hello"

範例:陣列

let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(1, 4)); // [2, 3, 4]
console.log(arr); // [1, 2, 3, 4, 5](未改變原陣列)

2. splice() - 修改陣列內容(增刪元素)

  • 適用於:陣列
  • 語法array.splice(start, deleteCount, item1, item2, ...)
  • 特點
    • 會改變原陣列
    • 可以刪除、插入或替換元素

範例:刪除元素

let arr = [1, 2, 3, 4, 5];
arr.splice(1, 2); // 從索引 1 開始刪除 2 個元素
console.log(arr); // [1, 4, 5]

範例:插入元素

let arr = [1, 4, 5];
arr.splice(1, 0, 2, 3); // 在索引 1 插入 2 和 3
console.log(arr); // [1, 2, 3, 4, 5]

3. split() - 拆分字串為陣列

  • 適用於:字串
  • 語法string.split(separator, limit)
  • 特點
    • 將字串拆分成陣列
    • 不影響原字串

範例:以空格拆分字串

let str = "I am a developer";
let words = str.split(" ");
console.log(words); // ["I", "am", "a", "developer"]

範例:拆分後取部分元素

let str = "apple,banana,grape,orange";
let fruits = str.split(",", 2);
console.log(fruits); // ["apple", "banana"]

總結

方法 作用 是否影響原陣列/字串 適用於
slice() 擷取部分陣列/字串 ❌ 不影響 陣列、字串
splice() 刪除、插入、替換元素 ✅ 影響 陣列
split() 拆分字串為陣列 ❌ 不影響 字串

這樣就能更清楚地理解它們的差異!🚀


#slice #splice #spilt







Related Posts

[Power BI] 讀書會 #3 Analysis Services 概念(2)

[Power BI] 讀書會 #3 Analysis Services 概念(2)

單一職責、開放封閉原則簡介

單一職責、開放封閉原則簡介

CSS

CSS


Comments