📜  JavaScript ES6 中一些新引入的数组方法(1)

📅  最后修改于: 2023-12-03 15:31:37.235000             🧑  作者: Mango

JavaScript ES6 中一些新引入的数组方法

JavaScript ES6 在数组方法方面进行了很大的改进。该版本引入了许多新的数组方法,这些方法可以帮助程序员更加方便地操作数组对象,从而提高开发效率。以下是一些新引入的数组方法。

1. Array.prototype.includes()

该方法可以用于判断数组中是否包含指定元素。与 indexOf() 方法不同的是,该方法可以正确的判断数组中是否包含 NaN 元素。

const arr = [1, 2, NaN];
arr.includes(1); // true
arr.includes(3); // false
arr.includes(NaN); // true
2. Array.prototype.find() 和 Array.prototype.findIndex()

这两个方法可以用于查找数组中符合指定条件的元素,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
3. Array.prototype.fill()

该方法可以用于将数组中的元素全部填充为指定的值。

const arr = new Array(3).fill('apple');
console.log(arr); // ['apple', 'apple', 'apple']
4. Array.prototype.keys()、Array.prototype.values() 和 Array.prototype.entries()

这三个方法可以用于遍历数组,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' 
}
5. Array.prototype.flat() 和 Array.prototype.flatMap()

这两个方法可以用于处理多维数组,将其变为一维数组,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 中新引入的数组方法可以大大提高数组对象的操作效率,使得开发更加方便快捷。程序员可以根据实际开发需求选择适合的方法来操作数组对象。