1.递归/正则/数组
题目描述:输入:[2,3,4,[55,77,[6,43,2]],33]
输出:[2, 3, 4, 55, 77, 6, 43, 2, 33]
方法一:(递归)
var arr=[2,3,4,[55,77,[6,43,2]],33];
function handleArr(arr){
var result=[];
function inner(arr){
for(var i=0;i<arr.length;i++){
if(typeof arr[i]!=='object'){
result.push(arr[i]); //是数字直接push到数组中
}
else{
inner(arr[i]); //若是数组,调用函数inner()
}
}
}
inner(arr);
return result;
}
handleArr(arr); //[2,3,4,55,77,6,43,2,33]
方法二:(正则 分割字符串)
var arr=[2,3,4,[55,77,[6,43,2]],33];
var arrs=arr.toString();
var res=arrs.replace(/[(\[\]]/g,""); //去掉所有的[] 字符串
alert(res.split(",")); //数组