下麵是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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。