我需要使用 JS 的 flat 方法展平一个多维数组。这是数组 [ ["1", "0"], ["3", "5", ["8", ["10"], "11"] ], ]

function flatArrs(arr) {
  let output = arr
    .flat()
    .sort((a,b) => a - b);
  console.log(output);
}

flatArrs([
  ["1","0"],["3","5",["8",["10"],"11"]],]);

这是输出,所有数组都没有显示扁平......为什么? [ '0','1','3','5',[ '8',[ '10' ],'11' ] ]

cs52012301 回答:我需要使用 JS 的 flat 方法展平一个多维数组。这是数组 [ ["1", "0"], ["3", "5", ["8", ["10"], "11"] ], ]

flat() 接受一个深度参数,指定展平的深度,默认为 1。要展平到任意深度,您可以传递 Infinity

MDN 详细介绍了许多 alternatives,包括使用 concat()、递归和生成器函数。

function flatArrs(arr) {
  let output = arr
    .flat(Infinity)
    .sort((a,b) => a - b);
  console.log(output);
}

flatArrs([
  ["1","0"],["3","5",["8",["10"],"11"]],]);

本文链接:https://www.f2er.com/274.html

大家都在问