• 複製 Array 自己的元素 Array.prototype.copyWithin()
  • 回傳 Array Iterator object ,terator object可取得 index 跟 value Array.prototype.entries()
  • 對 Array 的所有元素做驗證 Array.prototype.every()

Array.prototype.copyWithin()

只會複製一次,原本的欄位大小是不會變的。 且沒有複製到的陣列位置,原本的值是不會改變的。

參數說明 arr.copyWithin(target, start, end)

  • target : 從第幾個位址開始複製
  • start : 複製的第一個 value 位置 (optional)
  • end : 複製的最後一個 value 位置 (optional)

如以下範例:
1.第一個參數 2 ,表示會從 Array 裡面 value 是「3」的那個元素開始複製
2.第二個參數 4 ,原本的 Array 是數字 1~12,表示會省略前面 4 個元素,從 4 這個 value = 5 開始複製
3.第三個參數 6 ,表示只會複製到第 6 個元素 value = 6 結束

copyWithin
  • js
1
2
[1,2,3,4,5,6,7,8,9,10,11,12].copyWithin(2,4,6);
//[1, 2, 5, 6, 5, 6, 7, 8, 9, 10, 11, 12]

如果參數是負數,則會從右邊開始複製

negative
  • js
1
2
[1, 2, 3, 4, 5].copyWithin(-2);
// [1, 2, 3, 1, 2]

Array.prototype.entries()

iterator 原生用法

iterator
  • js
1
2
3
4
5
6
var a = ['a', 'b', 'c'];
var iterator = a.entries();

console.log(iterator.next().value); // [0, 'a']
console.log(iterator.next().value); // [1, 'b']
console.log(iterator.next().value); // [2, 'c']

foreach的用法

iterator
  • js
1
2
3
4
5
6
7
8
var a = ['a', 'b', 'c'];
var iterator = a.entries();
for (let e of iterator) {
console.log(e);
}
// [0, 'a']
// [1, 'b']
// [2, 'c']

Array.prototype.every()

驗證元素的內容是否符合規則,其只要有一個元素是 false ,則會馬上回傳 false 不會往下執行。

參數說明

  • element : 當下元素的 value
  • index : 當下元素的 index ,從 0 開始
  • array : array 本身
every
  • js
1
2
3
4
5
6
function isBigEnough(element, index, array) { 
return element >= 10;
}

[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true

arrow function 的用法

every
  • js
1
2
[12, 5, 8, 130, 44].every(x => x >= 10); // false
[12, 54, 18, 130, 44].every(x => x >= 10); // true

參考

參考連結