Array的扩展方法
扩展运算符(展开语法)
可以将数组或者对象转为用逗号分隔的参数序列
let ary = [1, 2, 3];
//...ary //1,2,3
console.log(...ary); //1 2 3 相当于如下
console.log(1, 2, 3); //1 2 3
let arr = ['a', 'b', 'c'];
console.log(...arr); //a b c
使用扩展运算符将数组拆分成以逗号分隔的参数序列以后,将参数序列又放在了console.log方法中,参数序列中的逗号会被当做方法的参数分隔符
可应用于数组合并,将类数组或可遍历对象转为真正的数组
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [...arr1, ...arr2]
console.log(arr3); //[1, 2, 3, 4, 5, 6]
或者
arr1.push(...arr2)
const part1 = {
id: 100,
name: 'Howard Moon'
}
const part2 = {
id: 100,
password: 'Password!'
}
const user1 = {...part1, ...part2}
console.log(user1);
构造函数方法:Array.from()
将类数组或可遍历对象转为真正的数组。
var arratLike = {
'0': '张三',
'1': '李四',
'2': '王五',
'length': 3
}
var arr = Array.from(arratLike);
console.log(arr); // ["张三", "李四", "王五"]
还可以接收第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
var arrayLike = {
'0': '1',
'1': '2',
'length': 2
}
var arr = Array.from(arrayLike, item => item * 2);
console.log(arr); //[2, 4]
实例方法:find()
用于找出第一个符合条件的数组成员,如果没有找到返回undefined。
var arr = [
{
id: 1,
name: '张三'
},
{
id: 2,
name: '李四'
}
];
let target = arr.find(item => item.id == 2);
console.log(target); //{id: 2, name: "李四"}
实例方法:findIndex()
用于找出第一个符合条件的数组成员的位置(索引),如果没有找到返回-1.
let arr = [10, 20, 50];
let index = arr.findIndex(item => item > 15);
console.log(index); // 1
实例方法:includes()
表示某个数组是否包含给定的值,返回布尔值。
let arr = ['a', 'b', 'c'];
let result = arr.includes('a');
console.log(result); //true
result = arr.includes('d');
console.log(result); //false