返回

JavaScript数组中的10个有用方法,你应该牢记在心!

前端





**循环经常是无用的,并且使得代码很难阅读。**  当谈到迭代一个数组的时候,无论你想去查找元素,排序或者任何其他的事,都有可能存在一个数组的方法供你使用。 然而,尽管它们有用,但其中一些仍然不被人了解。我会努力为你展示一些有用的方法。把这篇文章当做对 JavaScript 数组方法的入门指南。

**1. forEach()** 

forEach() 方法用于遍历数组中的每个元素,并对每个元素执行指定的回调函数。回调函数的参数是当前元素、当前元素的索引和数组本身。forEach() 方法不会改变原数组。

const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number, index, array) => {
console.log(Number: ${number}, Index: ${index}, Array: ${array});
});


**2. map()** 

map() 方法用于将数组中的每个元素都映射到一个新值,并返回一个新的数组。回调函数的参数是当前元素、当前元素的索引和数组本身。map() 方法不会改变原数组。

const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map((number) => number * 2);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]


**3. filter()** 

filter() 方法用于过滤数组中的元素,并返回一个包含通过过滤条件的元素的新数组。回调函数的参数是当前元素、当前元素的索引和数组本身。filter() 方法不会改变原数组。

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter((number) => number % 2 === 0);
console.log(evenNumbers); // [2, 4]


**4. find()** 

find() 方法用于查找数组中第一个满足指定条件的元素,并返回该元素。回调函数的参数是当前元素、当前元素的索引和数组本身。find() 方法不会改变原数组。

const numbers = [1, 2, 3, 4, 5];
const firstEvenNumber = numbers.find((number) => number % 2 === 0);
console.log(firstEvenNumber); // 2


**5. indexOf()** 

indexOf() 方法用于查找数组中某个元素的第一个索引,并返回该索引。如果找不到该元素,则返回 -1

const numbers = [1, 2, 3, 4, 5];
const index = numbers.indexOf(3);
console.log(index); // 2


**6. lastIndexOf()** 

lastIndexOf() 方法用于查找数组中某个元素的最后一个索引,并返回该索引。如果找不到该元素,则返回 -1

const numbers = [1, 2, 3, 4, 5, 3];
const index = numbers.lastIndexOf(3);
console.log(index); // 5


**7. reduce()** 

reduce() 方法用于将数组中的所有元素累积成一个单一的值。回调函数的参数是累积器、当前元素、当前元素的索引和数组本身。reduce() 方法不会改变原数组。

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 15


**8. some()** 

some() 方法用于检查数组中是否至少有一个元素满足指定条件。回调函数的参数是当前元素、当前元素的索引和数组本身。some() 方法不会改变原数组。

const numbers = [1, 2, 3, 4, 5];
const hasEvenNumber = numbers.some((number) => number % 2 === 0);
console.log(hasEvenNumber); // true


**9. every()** 

every() 方法用于检查数组中是否所有元素都满足指定条件。回调函数的参数是当前元素、当前元素的索引和数组本身。every() 方法不会改变原数组。

const numbers = [1, 2, 3, 4, 5];
const allEvenNumbers = numbers.every((number) => number % 2 === 0);
console.log(allEvenNumbers); // false


**10. includes()** 

includes() 方法用于检查数组中是否包含某个元素。如果包含,则返回 true;否则,返回 false

const numbers = [1, 2, 3, 4, 5];
const hasThree = numbers.includes(3);
console.log(hasThree); // true


**总结** 

本文介绍了 10 个最常用的 JavaScript 数组方法,包括循环、forEach、mapfilterfindindexOf、lastIndexOf、reduce、some 和 every。掌握了这些方法,你将能够更轻松地操作和处理数组中的数据,提高你的编程效率。