微语 微语:代码适合中午敲,早晚出BUG

数组扁平化处理 JavaScript

有一个多维数组

const arr = ]], 6];

要求转换成:

 

可以使用一下方法解决:

方法一:

const arr = ]], 6];
const flattenedArr = arr.flat(Infinity);
console.log(flattenedArr);

方法二:

const flat = arr => arr.reduce((prev, curr) => Array.isArray(curr) ?  : , );
console.log(flat(arr))

方法三:

const flat = arr => {
  const flattenedArr = ;
  for (let i = 0; i < arr.length; i++) {
    if (Array.isArray(arr)) {
      flattenedArr.push(...flat(arr));
    } else {
      flattenedArr.push(arr);
    }
  }
  return flattenedArr;
};

console.log(flat(arr));