ES10:Array.flat()、Array.flatMap() 及其他一个实用的新数组函数
ES10 提供了一些新的数组函数,这些函数可以使我们更方便地处理数组。其中包括 Array.flat()
、Array.flatMap()
和 Array.from()
Array.flat()
Array.flat()
函数用于将一个多维数组扁平化成一个一维数组。
语法:
arr.flat([depth])
其中,depth
参数用于指定需要扁平化的层数。默认值为 1,表示只扁平化一层。如果需要完全扁平化,可以以上限的层数为 Infinity。
举个例子:
const arr = [1, 2, [3, 4, [5, 6]]]; console.log(arr.flat()); // [1, 2, 3, 4, [5, 6]] console.log(arr.flat(2)); // [1, 2, 3, 4, 5, 6]; console.log(arr.flat(Infinity)); // [1, 2, 3, 4, 5, 6];
Array.flatMap()
Array.flatMap()
函数类似于 Array.map()
和 Array.flat()
的结合体,它首先对数组进行映射,然后对结果数组执行扁平化操作。
语法:
arr.flatMap(callback(currentValue[, index[, array]])[, thisArg])
举个例子:
const arr = [1, 2, 3]; const result = arr.flatMap(x => [x * 2]); console.log(result); // [2, 4, 6]
Array.from()
Array.from()
函数用于将一个类似数组的对象或可遍历对象转换为数组。
语法:
Array.from(arrayLike[, mapFn[, thisArg]])
举个例子:
const arrayLike = {0: 'a', 1: 'b', 2: 'c', length: 3}; const arr = Array.from(arrayLike); console.log(arr); // ['a', 'b', 'c']
总结
这些新的数组函数可以大大简化我们处理数组的代码,从而提高我们的代码效率和维护性。建议大家熟练掌握它们的使用方法。
以上是 ES10 数组新的部分,如果想了解更多新的特性,建议查看 ES10 新特性的官方文档:
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/664458c7d3423812e423e389