<script>
var arr = [[1,2,[3,4],5],[6,7,8],[[9,10],11]];
//方法一:
function flatten(arr){
return arr.reduce(function(prev,cur){
return prev.concat(Array.isArray(cur)?flatten(cur):cur);
},[])
}
//方法二:
function flatten(arr){
var str = JSON.stringify(arr).replace(/\[|\]/g,'');
return JSON.parse('['+str+']');
}
//方法三:
function flatten(arr){
var str = arr.toString();
return JSON.parse('['+str+']');
}
//递归
//方法四:
function flatten(arr){
var result = [];
if(!Array.isArray(arr)){
result.push(arr);
}else{
var len = arr.length;
for(var i=0;i<len;i++){
result = result.concat(flatten(arr[i]));
}
}
return result;
}
//扩展运算符
//方法五:
function flatten(arr){
var arr;
while(arr.some(v=>Array.isArray(v))){
arr = [].concat(...arr);
}
return arr;
}
console.log(flatten(arr));
</script>