當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Array flat()用法及代碼示例


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