ES6数组API
1.Array.from() :将类数组对象或可迭代对象转化为数组。
// 参数为数组,返回与原数组一样的数组
console.log(Array.from([1, 2])); // [1, 2]
// 参数含空位
console.log(Array.from([1, , 3])); // [1, undefined, 3]
2.Array.of():将参数中所有值作为元素形成数组。
// 参数值可为不同类型
console.log(Array.of(1, '2', true)); // [1, '2', true]
// 参数为空时返回空数组
console.log(Array.of()); // []
3.Array.prototype.find():查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。若找不到该元素返回undefined。
let arr = Array.of(1, 2, 3, 4);
console.log(arr.find(item => item > 2)); // 3
// 数组空位处理为 undefined
console.log([, 1].find(n => true)); // undefined
4.Array.prototype.findIndex():查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引。若找不到该元素返回-1.
5.Array.prototype.includes():数组是否包含指定值。
// 参数1:包含的指定值
[1, 2, 3].includes(1); // true
// 参数2:可选,搜索的起始索引,默认为0
[1, 2, 3].includes(1, 2); // false
// NaN 的包含判断
[1, NaN, 3].includes(NaN); // true
6.Array.prototype.fill():将一定范围索引的数组元素内容填充为单个指定的值。
let arr = Array.of(1, 2, 3, 4);
// 参数1:用来填充的值
// 参数2:被填充的起始索引
// 参数3(可选):被填充的结束索引,默认为数组末尾
console.log(arr.fill(0,1,2)); // [1, 0, 3, 4]
7.Array.prototype.keys() :遍历键名。
8.Array.prototype.values() :遍历键值。
9.Array.prototype.entries():遍历键值对。
let arr = [2, 3, 4, 5, 6, 2];
let keys = arr.keys();
let values = arr.values();
let entries = arr.entries();
for (let key of keys) {
console.log(key);
} //0 1 2 3 4 5
for (let value of values) {
console.log(value, "----");
} //2 3 4 5 6 2
for (let entry of entries) {
console.log(entry);
} //[ 0, 2 ][ 1, 3 ][ 2, 4 ][ 3, 5 ][ 4, 6 ][ 5, 2 ]