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


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


在本教程中,我們將借助示例了解 JavaScript Array slice() 方法。

slice() 方法將數組的一部分的淺拷貝返回到新的數組對象中。

示例

let numbers = [2, 3, 5, 7, 11, 13, 17];

// create another array by slicing numbers from index 3 to 5
let newArray = numbers.slice(3, 6);
console.log(newArray);

// Output: [ 7, 11, 13 ]

slice() 語法

用法:

arr.slice(start, end)

這裏,arr 是一個數組。

參數:

slice() 方法包含:

  • start(可選)- 選擇的起始索引。如果未提供,則選擇從 start 開始0.
  • end(可選)- 選擇的結束索引(不包括)。如果未提供,則選擇在最後一個元素的索引處結束。

返回:

  • 返回一個包含提取元素的新數組。

示例 1:JavaScript slice() 方法

let languages = ["JavaScript", "Python", "C", "C++", "Java"];

// slicing the array (from start to end)
let new_arr = languages.slice();
console.log(new_arr); // [ 'JavaScript', 'Python', 'C', 'C++', 'Java' ]

// slicing from the third element
let new_arr1 = languages.slice(2);
console.log(new_arr1); // [ 'C', 'C++', 'Java' ]

// slicing from the second element to fourth element
let new_arr2 = languages.slice(1, 4);
console.log(new_arr2); // [ 'Python', 'C', 'C++' ]

輸出

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

示例 2:帶有負索引的 JavaScript slice()

在 JavaScript 中,您還可以使用負開始和結束索引。最後一個元素的索引是-1,倒數第二個元素的索引是-2,以此類推。

const languages = ["JavaScript", "Python", "C", "C++", "Java"];

// slicing the array from start to second-to-last
let new_arr = languages.slice(0, -1);
console.log(new_arr); // [ 'JavaScript', 'Python', 'C', 'C++' ]

// slicing the array from third-to-last
let new_arr1 = languages.slice(-3);
console.log(new_arr1); // [ 'C', 'C++', 'Java' ]

輸出

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

示例 3:將對象作為數組元素的 JavaScript slice()

slice() 方法以以下方式淺拷貝數組的元素:

  • 它將對象引用複製到新數組。 (例如,嵌套數組)因此,如果修改了引用的對象,則更改在返回的新數組中可見。
  • 它將字符串和數字的值複製到新數組中。
let human = {
  name: "David",
  age: 23,
};

let arr = [human, "Nepal", "Manager"];
let new_arr = arr.slice();

// original object
console.log(arr[0]); // { name: 'David', age: 23 }

// making changes to the object in new array
new_arr[0].name = "Levy";

// changes are reflected
console.log(arr[0]); // { name: 'Levy', age: 23 }

輸出

{ name: 'David', age: 23 }
{ name: 'Levy', age: 23 }

相關用法


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