2021年11月29日 星期一

關於 JavaScript 的 使用負值當索引的注意事項

 關於 JavaScript 的 Array 使用負值當索引的注意事項

前言

  最近發現 JavaScript 的 2022 標準裡有新增 Array 可以使用負值當索引,實際用了以後發現一點問題,在此做個紀錄。


內容

  範例如下

let ar = [ 1 , 2 , 3, 4 , 5 ];
console.log( ar.at(-2) );//4
let ar1 = ar.slice(3,5);
console.log(ar1);//[4, 5]
//Follow code has trap...
let ar2 = ar.slice(-2,0);
console.log(ar2);//[]
//
let ar3 = ar.slice(-2);
console.log(ar3);//[4, 5]


使用負值當索引幾乎可以想成倒過來取得,就像範例的"ar1"的做法一樣,但如果用這個想法用在 slice() 時就發現有問題,在範例的"ar2"的用 0 當作結尾,結果會得到空陣列,如果要取到結尾要用"ar3"的作法才行,也就是說 0 不能當作負值的結尾,這點要注意。


參考資料

[developer.mozilla.org ] Array.prototype.at()

沒有留言:

張貼留言