[英]Strange Array.slice behavior
誰能解釋“切片”行為?
var arr = ['a', 'b', 'c', 'd', 'e', 'f'] console.log(arr.slice(0, 4)); // [ 'a', 'b', 'c', 'd' ] console.log(arr.slice(4, 4)); // []
為什么第二個數組是空的? 不應該是 ['e','f'] 嗎? 如果省略“end”參數,則結果如預期。
arr.slice(4, 4)
將返回從 index = 4 開始到 index = 4 的項目; 4-4=0
所以你的數組長度為0
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
var arr = ['a', 'b', 'c', 'd', 'e', 'f'] console.log(arr.slice(0, 4)); // [ 'a', 'b', 'c', 'd' ] console.log(arr.slice(4, 4)); // [] console.log(arr.slice(2, 4)); console.log(arr.slice(1, 2));
根據官方文檔:
將數組的一部分的淺拷貝返回到從開始到結束(不包括結束)選擇的新數組對象中。 不會修改原始數組。
這意味着,您從索引 4 開始,您在該索引處結束,因此實際上您沒有采用任何元素,因為開始和結束索引之間的差異是 0,因此沒有采用任何元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.