[英]Confused about the use of slice in javascript
我剛開始學習 Javascript。 其中一項練習是使用切片。 我的理解是 slice 創建了一個數組的淺表副本,並且該淺表副本將包含原始數組中的元素,如所稱。
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
console.log(citrus);
我得到:
Orange, Lemon
水果[1] 是橙色水果[3] 是蘋果
我期待
Orange, Apple
我錯過了什么?
slice() 方法選擇從給定的 start 參數開始的元素,並在給定的 end 參數處結束,但不包括。
slice() 的語法:
slice(start)
slice(start, end)
返回從“開始”索引到“結束”索引的元素(不包括“結束”索引)
讀這個:
參數
開始可選
開始提取的從零開始的索引。
可以使用負索引,表示距序列末尾的偏移量。 slice(-2) 提取序列中的最后兩個元素。
如果 start 未定義,則 slice 從索引 0 開始。
如果 start 大於序列的索引范圍,則返回一個空數組。
結束可選
從零開始的索引,在此之前結束提取。 切片提取直到但不包括結尾。 例如, slice(1,4) 提取第二個元素到第四個元素(索引為 1、2 和 3 的元素)。
可以使用負索引,表示距序列末尾的偏移量。 slice(2,-1) 通過序列中倒數第二個元素提取第三個元素。
如果 end 被省略,切片將通過序列的末尾 (arr.length) 進行提取。
如果 end 大於序列的長度,則 slice 將提取到序列的末尾 (arr.length)。
slice 方法返回兩個索引之間的數組的一部分(不包括結束索引)這意味着如果您執行以下操作:
let arr = ['foo', 'bar', 'yin', 'yang']
console.log(arr.slice(1, 3))
預期的 output 將是['bar', 'yin']
因為您將獲得從索引 1 到索引 3 - 1 的數組的所有元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.