代碼呈上:
//var了個n維數組
var arr = [1,2,[3,[4,5,[1,2,3]],4,5],6,[7,8],9];
//創建一個數組接收n維數組解析出來的值
var res = [];
function transform(arr){
for(var i = 0;i<arr.length;i++){
//當數組的時候遞歸調用transform,否則放入res中
if(arr[i] instanceof Array){
transform(arr[i]);
}else {
res.push(arr[i]);
}
}
}
transform(arr);
console.log(res);
實現思路:
- 首先我們需要創建一個函數實現遍歷整個數組;
function transform(arr){ for(var i = 0;i<arr.length;i++){ } }
- 然後我們進行判斷數組中每個元素的類型,如果不是數組的話,我們把這個數放到我們的預先準備好的res中,如果是數組的話我們調用一下自身,但是此時傳入的值應該是當前元素
if(arr[i] instanceof Array){ transform(arr[i]); }else { res.push(arr[i]); }
- 最後合併兩塊代碼