在 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() |
拆分字串為陣列 | ❌ 不影響 | 字串 |
這樣就能更清楚地理解它們的差異!🚀