關於 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 不能當作負值的結尾,這點要注意。
沒有留言:
張貼留言