当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。