for循环
function flatten(arr)
{
let result=[]
for(let i=0;i<arr.length;i++)
{
if(Array.isArray(arr[i]))
{
result=result.concat(flatten(arr[i]))
}else{
result.push(arr[i])
}
}
return result;
}
reduce()
function flatten(arr)
{
let result=[]
return arr.reduce(function(pre,cur)
{
return pre.concat(Array.isArray(cur)?flatten(cur):cur)
},[])
}
some()+'…'扩展运算符
function flatten(arr)
{
while(arr.some(i=>Array.isArray(i)))
{
console.log(...arr)
arr=[].concat(...arr)
console.log('arr'+arr)
}
return arr
}
split()+toString()
function flatten(arr)
{
return arr.toString().split(',').map(i=>Number(i));
}
flat()
function flatten(arr)
{
return arr.flat(Infinity)
}