下面是Array flat()方法的示例。
- 例:
<script> // Creating multilevel array const numbers = [['1', '2'], ['3', '4', ['5',['6'], '7']]]; const flatNumbers= numbers.flat(Infinity); document.write(flatNumbers); </script>
- 产量:
1,2,3,4,5,6,7
ES2019中引入了arr.flat()方法。它用于展平数组,以减少数组的嵌套。
flat()方法在JavaScript的函数编程范例中大量使用。在JavaScript中引入flat()方法之前,主要使用了诸如underscore.js之类的各种库。
用法:
arr.flat([depth])
参数:此方法接受如上所述和以下描述的单个参数:
- depth:它指定嵌套数组应展平的深度。如果未传递任何深度值,则默认值为1,因为您猜测它是可选参数。
返回值:它返回一个数组,即深度级别比原始数组平坦,它会根据深度级别删除嵌套。
上述函数的更多代码定义如下:
程序1:以下代码段显示了flat()方法的用法方式。
<script>
let nestedArray = [1, [2, 3], [[]],
[4, [5]], 6];
let zeroFlat = nestedArray.flat(0);
document.write(
`Zero levels flattened array:${zeroFlat}`);
document.write("<br>");
// 1 is the default value even
// if no parameters are passed
let oneFlat = nestedArray.flat(1);
document.write(
`One level flattened array:${oneFlat}`);
document.write("<br>");
let twoFlat = nestedArray.flat(2);
document.write(
`One level flattened array:${twoFlat}`);
document.write("<br>");
// No effect when depth is 3 or
// more since array is already
// flattened completely.
let threeFlat = nestedArray.flat(3);
document.write(
`Three levels flattened array:${threeFlat}`);
</script>
输出:
Zero levels flattened array:[1, [2, 3], [[]], [4, [5]], 6] One level flattened array:[1, 2, 3, [], 4, [5], 6] Two levels flattened array:[1, 2, 3, 4, 5, 6] Three levels flattened array:[1, 2, 3, 4, 5, 6]
注意:对于大于2的深度,数组将保持不变,因为它已被完全展平。
程序2:我们还可以使用flat()方法删除数组中的空插槽或空值。
<script>
let arr = [1, 2, 3, , 4];
let newArr = arr.flat();
document.write(newArr);
</script>
输出:
[1, 2, 3, 4]
支持的浏览器:
- 谷歌浏览器
- 火狐浏览器
- Safari
- Opera
- 微软边
注:本文由纯净天空筛选整理自prerak_jain大神的英文原创作品 JavaScript Array flat() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。