let res=flat([1,2,[3,[4,5,[6,7,8,[10]]]]]) function flat(arr){ let isdeep=arr.some(item=>item instanceof Array); if(!isdeep){ return arr; } let res=Array.prototype.concat.apply([],arr); //concat只能拍平一层 return flat(res); } console.log(res);