ES 6 Aray新規API
19653 ワード
ES 6 Aray新規API静的方法 Aray.of(arg) Aray.from 例示的な方法 find findIndex fill(data) copyWithin includes 静的方法
Aray.of(arg)
find(calback)
Aray.of(arg)
, ,
const arr = Array.of(5);
console.log(arr) //[5]
const arr1 = Array.of(1,2,4,5,2,1);
console.log(arr1) //[1, 2, 4, 5, 2, 1]
, Array() 。 , Array() 。
Array.of() // []
Array.of(undefined) // [undefined]
Array.of 。 , 。
下記のコードシミュレーションで実現できます.function ArrayOf(){
return [].slice.call(arguments);
}
const arr = ArrOf(1,2,3,4,5,6) // [1,2,3,4,5,6]
Aray.from(arg) (iterable)
// ,
const arr = Array.from([1, 2])//[1,2]
// length , 。
let obj = {
'0': 'a',
'1': 'b',
'2': 'c',
length: 3
};
const arr = Array.from(obj); // ['a', 'b', 'c']
// ES5
const arr1 = [].slice.call(obj); // ['a', 'b', 'c']
// length , []
// , length undefined [undefined]
//NodeList
let div = document.getElementsByTagName("div");
const a = Array.from(div);
console.log(a);//[div,div,div]
//ES5
const b = Array.prototype.slice.call(div,0)
//const b = [].prototype.slice.call(div,0)
console.log(b);//[div,div,div]
// (iterable)
//Set
const set = new Set(['a', 'b'])
const a = Array.from(set)
console.log(a);// ['a', 'b']
//String
const str = 'abc';
console.log(Array.from(str)); // ["a", "b", "c"]
// ,
// JavaScript \uFFFF Unicode , bug。
const str = '';
console.log(str.length);//2
function countSymbols(string) {
return Array.from(string).length;
}
console.log(countSymbols(str));//1
実例的な方法find(calback)
const arr= [1,3,5,7,9]
arr.find(n => n >5) //7
findIndex(calback)
const arr= [1,3,5,7,9]
arr.findIndex(n => n >5) //3
fill(data)
const arr = new Array(3);
arr.fill("qwer")
console.log(arr);//["qwer", "qwer", "qwer"]
//
// ,
// ( ) , 0,
// ( ) , this.length
const d = [1,2,3,4,5]
d.fill(2,2)
console.log(d);//[1,2,2,2,2]+
copyWithin(targt,[start],[end]) , ( ),
。
target( ): 。 , 。
start( ): , 0。 , 。
end( ): , 。 , 。
const arr = [1,2,3,4,5]
arr.copyWithin(0,1)//[2, 3, 4, 5, 5]
includes(data) ,
[1, 2, 3].includes(2) // true
[1, 2, 3].includes(4) // false
[1, 2, NaN].includes(NaN) // true
この方法の2番目のパラメータは、検索の開始位置を表し、デフォルトは0です.2番目のパラメータが負の場合は、逆数の位置を表します.このときは配列長より大きい場合(例えば、2番目のパラメータは−4ですが、配列長は3です)、0からリセットされます.[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true