先上代码
var arr=[1,2,[3,[4,5]],6,[7,8],9,[10,[11,[12,[13,14]]]]];
var arr1=[];
function change(arr){
for(var i=arr.length-1;i>=0;i--){
if((typeof arr[i])=='number'){
arr1.unshift(arr[i]);
}
else{
change(arr[i]);
}
}
}
change(arr);
document.write(arr1);
思路就是从数组最后一位开始检测是否为数字类型,是的话则插入到新的数组中,不是的话则为数组类型,重新调用本函数,把其中的数字给插入到新的一维数组中,最后能将多维数组中所有元素全部按顺序插入到一维数组中,实现转化。
如果多维数组中不只有数字类型,可以再封装一个函数判断当前元素是否为数组类型。