JS方法之Array.flat方法

1. Array.flat方法

描述:flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。不会改变原数组。

语法:arr.flat(depth) // depth 默认值为1。

参数:depth:可选。提取嵌套数组的结构深度,默认值为1。

注意:arr.flat()返回一个包含数组和其子数组所有元素的新数组。

depth可以是任意值,但一般只有number和string 类型的数值才会被接受,undefined则为默认值。

2. Array.flat应用

:输出的Array(3) = ['a', ['b'], 'c'],Array(1) = ['b']

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

console.log(arr.flat()); // 输出 [1, 2, 'a', Array(1), 'c'] ———— depth 默认值为1

console.log(arr); // 输出 [1, 2, Array(3)]  ———— 不会改变原数组

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

console.log(arr.flat('abc'));  // 输出 [1, 2, Array(3)]

console.log(arr.flat('2')); // 输出 [1, 2, 'a', 'b', 'c']

console.log(arr.flat(undefined)); //  输出 [1, 2, 'a', Array(1), 'c']

// 引用自MDN ———— 使用 Infinity,可展开任意深度的嵌套数组

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

console.log(arr.flat(Infinity)); // 输出 [1, 2, 'a', 'b', 'c']

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容