1、Array.from()
用于类似数组的对象(即有length
属性的对象)和可遍历对象转为真正的数组。
let json ={
'0':'11',
'1':'22',
'2':'33',
length:3
}
let arr = Array.from(json);
console.log(arr); // ["11", "22", "33"]
2、Array.of()
将一组值转变为数组,参数不分类型,只分数量,数量为0返回空数组。
let arr1 = Array.of(1,2,3);
let arr2 = Array.of([1,2,3]);
let arr3 = Array.of(undefined);
let arr4 = Array.of();
console.log(arr1); // [1, 2, 3]
console.log(arr2); // [[1, 2, 3]]
console.log(arr3); // [undefined]
console.log(arr4); // []
3、find()
find()
方法返回数组中满足提供的测试函数的第一个元素的值。否则返回undefined
。参数是回调函数。
let arr=[12,32,43,2,4,11,55,12];
let val=arr.find(function (ele,index) {
return ele>12;
});
console.log(val);//11
4、findIndex ()
findIndex
和find
差不多,不过默认返回的是索引,如果没有符合条件的元素返回 -1
let arr=[12,32,43,2,4,11,55,12];
let val=arr.findIndex(function (ele,index) {
return ele>32;
});
console.log(val);
5、fill()
fill()
方法用于将一个固定值替换数组的元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Runoob");//Runoob,Runoob,Runoob,Runoob
6、遍历数组方法 keys()、values()、entries()
这三个方法都是返回一个遍历器对象,可用for...of
循环遍历,唯一区别:keys()
是对键名的遍历、values()
对键值的遍历、entries()
是对键值对的遍历。
keys()
let arr = ["a","b","c","d"];
for(let i of arr.keys()){
console.log(i);
}
//打印:
// 0
// 1
// 2
// 3
values()
let arr = ["a","b","c","d"];
for(let i of arr.values()){
console.log(i);
}
//打印:
// a
// b
// c
entries()
let arr = ["a","b","c","d"];
for(let i of arr.entries()){
console.log(i);
}
//打印:
// [0, "a"]
// [1, "b"]
// [2, "c"]
// [3, "d"]
for(let [idx,item] of arr.entries()){
console.log(idx+":"+item);
}
//打印:
// 0:a
// 1:b
// 2:c
7、includes()
includes()
方法用来判断一个数组是否包含一个指定的值,如果是返回true
,否则false
。
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
8、copyWithin()
copyWithin()
方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。会覆盖原有成员.
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.copyWithin(2, 0);//Banana,Orange,Banana,Orange