陣列的擴充套件 陣列例項的copyWithin

2021-08-16 13:09:03 字數 1078 閱讀 7512

陣列例項的copywithin()方法,在當前陣列的內部,將指定位置的成員複製到其他位置(會覆蓋原有成員),然後返回當前陣列。也就是說,使用這個方法,會修改當前陣列。

語法:

array.prototype.copywithin(target,start=0,end=this.length)
它接受三個引數,target必需:從該位置開始替換資料。如果為負值,表示倒數。

start可選:從該位置開始讀取資料,預設為0。如果為負值,表示倒數。

end可選:從該位置前停止讀取資料,預設為陣列長度。如果為負值,表示倒數。

這三個引數都應該是數值,如果不是,會自動轉為數值。

[1, 2, 3, 4, 5].copywithin(0, 3)

// [4, 5, 3, 4, 5]

上面**表示將從 3 號位直到陣列結束的成員(4 和 5),複製到從 0 號位開始的位置,結果覆蓋了原來的 1 和 2。

// 將3號位複製到0號位

[1, 2, 3, 4, 5].copywithin(0, 3, 4)

// [4, 2, 3, 4, 5]

// -2相當於3號位,-1相當於4號位

[1, 2, 3, 4, 5].copywithin(0, -2, -1)

// [4, 2, 3, 4, 5]

// 將3號位複製到0號位

.copywithin.call(, 0, 3)

// // 將2號位到陣列結束,複製到0號位

let i32a = new int32array([1, 2, 3, 4, 5]);

i32a.copywithin(0, 2);

// int32array [3, 4, 5, 4, 5]

// 對於沒有部署 typedarray 的 copywithin 方法的平台

// 需要採用下面的寫法

.copywithin.call(new int32array([1, 2, 3, 4, 5]), 0, 3, 4);

// int32array [4, 2, 3, 4, 5]

陣列的擴充套件 陣列例項的fill

fill方法使用給定值填充乙個陣列 a b c fill 7 7,7,7 new array 3 fill 7 7,7,7 上面 表明,fill方法用於空陣列的初始化非常方便。陣列中已有的元素,會被全部抹去。fill方法還可以接受第二個和第三個引數,用於指定填充的起始位置和結束位置。a b c fi...

陣列的擴充套件

陣列的擴充套件 es5 的寫法 function f x,y,z var args 0 1,2 f.null args es6的寫法 function f x,y,z let args 0 1,2 f args array.from方法用於將兩類物件轉為真正的陣列 類似陣列的物件 array lik...

陣列的擴充套件

1.array.from 將類陣列物件轉換為陣列,將iterator介面的類陣列轉換為真正的陣列 它也可以接收乙個 函式,對陣列裡面的每乙個元素進行遍歷 可以用該方法輸出 獲取的dom集的每乙個dom元素的某個屬性或者文字內容 好方法!2.array.of 將一組值轉換為陣列 3.copywithi...