ECMAScript 是 JavaScript 的国际标准,定义了语言的基础规范。数组是 JavaScript 最常用的数据类型之一,JavaScript 中提供了许多方便的数组方法。在 ECMAScript 2021 中,更是新增了一些有用的数组方法,让我们来一一学习它们。
flat
flat
是一个数组方法,用来将多维数组变为一维数组。我们可以指定要展开的层数,如果不指定,将展开所有层数。使用方式如下:
const arr = [1, [2, 3], [[4, 5], 6]]; console.log(arr.flat()); // [1, 2, 3, [4, 5], 6] console.log(arr.flat(1)); // [1, 2, 3, [4, 5], 6] console.log(arr.flat(2)); // [1, 2, 3, 4, 5, 6]
flatMap
flatMap
是一个组合了 map
和 flat
的数组方法,可以将多维数组扁平化之后再执行 map
方法。使用方式如下:
const arr = ["a b", "c d", "e f"]; console.log(arr.flatMap(x => x.split(" "))); // ["a", "b", "c", "d", "e", "f"]
slice
slice
是一个数组方法,用来复制一个数组的一部分。可以指定要复制的起始和结束位置,如果不指定结束位置,则复制到数组末尾。使用方式如下:
const arr = [1, 2, 3, 4, 5]; console.log(arr.slice(1, 4)); // [2, 3, 4] console.log(arr.slice(-3)); // [3, 4, 5]
join
join
是一个数组方法,用来将数组转为字符串。可以指定分隔符,默认为逗号。使用方式如下:
const arr = ["a", "b", "c"]; console.log(arr.join()); // "a,b,c" console.log(arr.join("|")); // "a|b|c"
includes
includes
是一个数组方法,用来判断数组中是否包含指定的元素。如果包含,则返回 true
,否则返回 false
。使用方式如下:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
find 和 findIndex
find
和 findIndex
是一对数组方法,用来查找数组中满足条件的第一个元素和其索引位置。使用方式如下:
const arr = [1, 2, 3, 4, 5]; console.log(arr.find(x => x > 3)); // 4 console.log(arr.findIndex(x => x > 3)); // 3
forEach
forEach
是一个数组方法,用来遍历数组,并对其中的每个元素执行指定的操作。使用方式如下:
const arr = ["a", "b", "c"]; arr.forEach(x => console.log(x)); // "a" "b" "c"
map
map
是一个数组方法,用来遍历数组,并对其中的每个元素执行指定的操作,并返回执行结果组成的新数组。使用方式如下:
const arr = [1, 2, 3]; console.log(arr.map(x => x * 2)); // [2, 4, 6]
filter
filter
是一个数组方法,用来遍历数组,并对其中的每个元素执行指定的判断操作,如果结果为 true
,则将该元素放入新数组中,并返回新数组。使用方式如下:
const arr = [1, 2, 3, 4, 5]; console.log(arr.filter(x => x % 2 === 0)); // [2, 4]
reduce
reduce
是一个数组方法,用来遍历数组,并对其中的每个元素执行指定的累加操作。使用方式如下:
const arr = [1, 2, 3, 4, 5]; console.log(arr.reduce((acc, x) => acc + x)); // 15
some 和 every
some
和 every
是一对数组方法,用来判断数组中是否有满足条件的元素或所有元素都满足条件。使用方式如下:
const arr = [1, 2, 3, 4, 5]; console.log(arr.some(x => x > 3)); // true console.log(arr.every(x => x > 3)); // false
总结
ECMAScript 2021 中的数组方法是一些最常用且有用的方法,它们能够让我们更方便地操作数组,提高开发效率。我们可以结合数组方法的不同特点,灵活地运用在前端开发中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646da4b6968c7c53b0c49302