再探 Array.copyWithin() 之四
前言
在之前的 再探 Array.copyWithin() 之三 介紹當 start 的值是負值的狀況,這次來學習 end的值是負值。
內容
範例如下
let ar = [ 0 , 1 , 2 , 3 , 4 , 5 ]; // console.log( [...ar].copyWithin( 2 , 0 , -4 ) );//[0, 1, 0, 1, 4, 5] console.log( [...ar].copyWithin( 2 , 0 , -3 ) );//[0, 1, 0, 1, 2, 5] console.log( [...ar].copyWithin( 0 , 0 , -1 ) );//[0, 1, 2, 3, 4, 5]
當引數 end 是負值,代表複製的結尾索引是從結尾來算。第一例的複製結尾是 -4 ,從結尾來算可以得到索引 2 ,所以第一例的結果跟直接將 end 填上 2 的結果一樣,第二例的 end 是 -3 ,換算回正索引的話是 3 ,所以結果和 end 是 3 的狀況一樣。最後一例是將 end 填上 -1 ,也就是陣列的最後一個索引,這其實就何不填 end 時的結果一樣是複製到結尾。
參考資料
[ developer.mozilla.org ] Array.prototype.copyWithin()
沒有留言:
張貼留言