📅  最后修改于: 2023-12-03 15:31:37.235000             🧑  作者: Mango
JavaScript ES6 在数组方法方面进行了很大的改进。该版本引入了许多新的数组方法,这些方法可以帮助程序员更加方便地操作数组对象,从而提高开发效率。以下是一些新引入的数组方法。
该方法可以用于判断数组中是否包含指定元素。与 indexOf()
方法不同的是,该方法可以正确的判断数组中是否包含 NaN 元素。
const arr = [1, 2, NaN];
arr.includes(1); // true
arr.includes(3); // false
arr.includes(NaN); // true
这两个方法可以用于查找数组中符合指定条件的元素,find()
方法返回第一个满足条件的元素,findIndex()
方法返回该元素在数组中的下标。
const arr = [
{ name: 'Tom', age: 18 },
{ name: 'Jerry', age: 20 },
{ name: 'Lucy', age: 19 }
];
const result = arr.find((item) => item.age === 20); // { name: 'Jerry', age: 20 }
const index = arr.findIndex((item) => item.age === 20); // 1
该方法可以用于将数组中的元素全部填充为指定的值。
const arr = new Array(3).fill('apple');
console.log(arr); // ['apple', 'apple', 'apple']
这三个方法可以用于遍历数组,keys()
方法返回数组下标的迭代器,values()
方法返回数组元素的迭代器,entries()
方法返回下标和元素组成的迭代器。
const arr = ['apple', 'banana', 'orange'];
for (const key of arr.keys()) {
console.log(key); // 0, 1, 2
}
for (const value of arr.values()) {
console.log(value); // 'apple', 'banana', 'orange'
}
for (const [key, value] of arr.entries()) {
console.log(key, value); // 0 'apple', 1 'banana', 2 'orange'
}
这两个方法可以用于处理多维数组,将其变为一维数组,flat()
方法只处理一层,flatMap()
方法可以处理任意层数的数组。
const arr = [1, 2, [3, 4], [[5, 6]]];
const flatArr = arr.flat(); // [1, 2, 3, 4, [5, 6]]
const flatMapArr = arr.flatMap((item) => item * 2); // [2, 4, 6, 8, [10, 12]]
综上所述,JavaScript ES6 中新引入的数组方法可以大大提高数组对象的操作效率,使得开发更加方便快捷。程序员可以根据实际开发需求选择适合的方法来操作数组对象。