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']