ES6新增数组方法有哪些?
时间: 2024-10-11 12:09:52 浏览: 23
ES6(ECMAScript 2015)引入了大量新的数组方法,增强了数组的处理能力。其中一些重要的新增方法包括:
1. **find**: 这个方法返回数组中满足提供的测试函数的第一个元素,如果没有找到符合条件的,则返回undefined。
```javascript
const numbers = [1, 2, 3, 4, 5];
const result = numbers.find(item => item > 3); // 返回4
```
2. **findIndex**: 类似于`find`,但它返回满足条件的第一个元素的索引,找不到则返回-1。
```javascript
const index = numbers.findIndex(item => item == 4); // 返回3
```
3. **filter**: 通过测试函数过滤数组,返回一个新的只包含满足条件元素的新数组。
```javascript
const evenNumbers = numbers.filter(item => item % 2 === 0); // 返回[2, 4]
```
4. **map**: 对数组的每个元素应用一个映射函数,并返回新数组,原数组不变。
```javascript
const squared = numbers.map(item => item * item); // 返回[1, 4, 9, 16, 25]
```
5. **reduce**: 用于迭代数组并对每个元素应用一个归约函数,最终得到一个单一的累积值。
```javascript
const sum = numbers.reduce((total, num) => total + num, 0); // 返回15
```
6. **flat**: 展开嵌套的数组成扁平化的数组。
```javascript
const nestedArray = [[1, 2], [3, 4]];
const flattened = nestedArray.flat(); // 返回[1, 2, 3, 4]
```
7. **fill**: 将指定值填充到数组从开始到结束的所有元素,支持指定起始和结束位置。
```javascript
numbers.fill(0, 2); // [1, 2, 0, 4, 5]
```
8. **includes**: 检查数组是否包含某个元素,返回布尔值。
```javascript
const hasThree = numbers.includes(3); // 返回true
```
这些方法使得处理数组更加方便高效,提高了代码的可读性和简洁度。
阅读全文