[javascript] javascript array methods practice II
- 複製 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 結束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]
如果參數是負數,則會從右邊開始複製1
2[1, 2, 3, 4, 5].copyWithin(-2);
// [1, 2, 3, 1, 2]
Array.prototype.entries()
iterator 原生用法1
2
3
4
5
6var 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的用法1
2
3
4
5
6
7
8var 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 本身
- js
1 | function isBigEnough(element, index, array) { |
arrow function 的用法1
2[12, 5, 8, 130, 44].every(x => x >= 10); // false
[12, 54, 18, 130, 44].every(x => x >= 10); // true