Array.of( )
将一组数值转换为数组,用来弥补Array()的不足。
Array.of(); // []
Array.of(1); // [1]
Array.of(1,3,5); // [1, 3, 5]
Array.from( )
将伪数组或者可遍历的的对象等有length属性的转换为真正的数组。
// 伪数组
var list = document.getElementsByTagName('li');
var arr = Array.from(list);
console.log(arr); // [li, li, li]
console.log(arr instanceof Array); // true
// 字符串
Array.from(‘string’); // [ 's', 't', 'r', 'i', 'n', 'g' ]
find( )
找出数组中符合条件的第一个元素。
[ ].find(function(value, index, arr)
参数是一个回调函数,数组的每个元素都执行该函数
回调函数的第一个参数:当前值
回调函数的第二个参数:当前值的索引
回调函数的第三个参数:原数组
var arr = [1, 3, 5];
var res = arr.find(function(value, index, arr){
console.log('index:'+index,'value:'+value);
console.log(arr);
console.log('++++++++');
return value > 1;
});
console.log(res);
// 打印
index:0 value:1
[ 1, 3, 5 ]
++++++++
index:1 value:3
[ 1, 3, 5 ]
++++++++
3
findIndex( )
返回符合条件的第一个元素在数组的位置。
和find()用法差不多。
var arr = [1, 3, 5];
var res = arr.find(function(value, index, arr){
return value > 1;
});
// res -->> 1
fill( )
将指定元素填充到数组中。
一个参数:数组中所有元素都被替换填充
三个参数:第一个参数是填充的元素,第二个参数是开始填充的位置,第三个参数是结束填充的位置之前
var arr = [1, 3, 5];
arr.fill(2); // [2, 2, 2]
arr.fill(2,0,2); // [2, 2, 5]
entries( )、keys( )、values( )
这三个类似,都是通过跟for..of循环配合遍历,得到数组中的元素或索引。
// entries
var arr = [1, 3, 5];
for(let [i, val] of arr.entries()){
console.log(i,val);
}
// 打印:
0 1
1 3
2 5
// keys
for(let i of arr.keys()){
console.log(i);
}
// 打印
0
1
2
// values
for(let value of arr.values()){
console.log(value);
}
// 打印
1
3
5