将多维数组,转换为一维数组
最终结果: [1, [2, 3], [4, [5, 6]]] => [1, 2, 3, 4 , 5, 6];
代码:
var arr = [1, 2, [3], [4, [5, [6, [7, [8]]]]]];
function toOneArr(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
//arr[i] instanceof Array 前者是否属于后者的实例, 如果是,返回true, 否则返回假
if (arr[i] instanceof Array) {
// 如果是数组,则在这里处理
newArr = newArr.concat(toOneArr(arr[i]));
} else {
// 如果当前的元素不是数组的话,直接放进新数组中
newArr.push(arr[i]);
}
}
// 循环完之后,返回新数组
return newArr;
}
var newArr = toOneArr(arr);
console.log(newArr);
网友评论