淘先锋技术网

首页 1 2 3 4 5 6 7

js将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。
例如 输入:[1,2,[3,4,[5,6],‘7’],‘a,b]cd’]
期望输出:[1,2,3,4,5,6,‘7’,‘a,b]cd’]

var newArr = []; // 用于存放转换后的数组

function arrOfOneDimension(arr) {
  for (let key of arr) {
    if (Array.isArray(key)) {
      arrOfOneDimension(key);//如果还是数组继续递归调用
    } else {
      newArr.push(key);
    }
  }
  return newArr;
}

验证:

let arr = [1,2,[3,4,[5,6],'7'],'a,b]cd']
console.log(arrOfOneDimension(arr)); //[1,2,3,4,5,6,'7','a,b]cd']