es6新增数组方法是什么

1.引言

在ES6(ECMAScript 2015)中,新增了一些对JavaScript开发者来说非常实用和方便的数组方法。这些方法使得我们在使用数组时更加灵活和高效。本文将对这些方法进行详细的讲解,以及代码示例,帮助读者更好地掌握它们的用法。

2.新增的数组方法

2.1 Array.from()

Array.from() 方法可以将一些额外的对象转化为数组,如类数组对象和可迭代对象。这个方法有两个参数,第一个参数是要转换为数组的对象,第二个参数是一个映射函数,用于对转化后的每一项数据进行处理,并且将处理之后的数据返回。

const arrayLike = {

'0': 'a',

'1': 'b',

'2': 'c',

length: 3

};

const arr = Array.from(arrayLike, (item) => item.toUpperCase());

console.log(arr); // ['A', 'B', 'C']

上面的代码将一个类数组对象转换为了一个数组,并且使用了一个映射函数将每一项都变成了大写。

2.2 Array.of()

Array.of() 方法可以将一组值转换为数组。它接受任意数量的参数,并将它们作为数组的元素,然后返回这个新的数组。

console.log(Array.of(1, 2, 3)); // [1, 2, 3]

console.log(Array.of('a', 'b', 'c')); // ['a', 'b', 'c']

console.log(Array.of(1)); // [1]

2.3 Array.find()

Array.find() 方法用于找出数组中符合条件的第一个元素并返回。它接受一个回调函数作为参数,用于判断当前数字是否符合条件。如果找到了符合条件的元素,则立即返回。如果没有找到符合条件的元素,则返回 undefined。

const arr = [1, 2, 3, 4, 5];

const result1 = arr.find(item => item > 3);

const result2 = arr.find(item => item > 6);

console.log(result1); // 4

console.log(result2); // undefined

2.4 Array.findIndex()

与 Array.find() 方法类似,Array.findIndex() 方法返回的是符合条件的元素的下标。如果没有符合条件的元素,则返回 -1。

const arr = [1, 2, 3, 4, 5];

const index1 = arr.findIndex(item => item > 3);

const index2 = arr.findIndex(item => item > 6);

console.log(index1); // 3

console.log(index2); // -1

2.5 Array.fill()

Array.fill() 方法用于将数组每一个元素都填充为指定的值。这个方法接受三个参数,第一个参数是要填充的值,第二个参数是起始位置(默认为 0),第三个参数是结束位置(默认为数组长度)。

const arr1 = [1, 2, 3, 4, 5];

arr1.fill(0); // [0, 0, 0, 0, 0]

const arr2 = [1, 2, 3, 4, 5];

arr2.fill(0, 2); // [1, 2, 0, 0, 0]

const arr3 = [1, 2, 3, 4, 5];

arr3.fill(0, 2, 4); // [1, 2, 0, 0, 5]

2.6 Array.entries()

Array.entries() 方法返回一个新的 Array Iterator 对象,它包含数组中每个元素的键和值。

const arr = ['a', 'b', 'c'];

const iterator = arr.entries();

console.log(iterator.next().value); // [0, 'a']

console.log(iterator.next().value); // [1, 'b']

console.log(iterator.next().value); // [2, 'c']

2.7 Array.keys()

Array.keys() 方法返回一个新的 Array Iterator 对象,它包含数组中每个元素的键。

const arr = ['a', 'b', 'c'];

const iterator = arr.keys();

console.log(iterator.next().value); // 0

console.log(iterator.next().value); // 1

console.log(iterator.next().value); // 2

2.8 Array.values()

Array.values() 方法返回一个新的 Array Iterator 对象,它包含数组中每个元素的值。

const arr = ['a', 'b', 'c'];

const iterator = arr.values();

console.log(iterator.next().value); // 'a'

console.log(iterator.next().value); // 'b'

console.log(iterator.next().value); // 'c'

3.总结

本文介绍了 ES6 中新增的一些数组方法,这些方法对于提高 JavaScript 开发效率和代码质量非常有帮助。借助这些方法,我们可以轻松地对数组进行各种操作,从而更好地完成我们的工作。值得注意的是,这些方法在使用时需要我们了解其用法和参数,以确保正确使用。