es5实现数组降维 JavaScript
var arr=[1,2,[2,3,4],4,[4,5,[6,7]]];
function flattenNth(arr,n) {
if(n!=1){ arr.reduce(function(a, v,index,arr){
if(Array.isArray(v)){
return a.concat(flattenNth(v,n-1)) }else{
return a.concat(v); } // return a; },[]); }else { arr.reduce(function(a, v,index,arr){
return a.concat(v); // return a; },[]); } return arr;}
console.log(flattenNth(arr,3));//[ 1, 2, [ 2, 3, 4 ], 4, [ 4, 5, [ 6, 7 ] ] ]
没有达到降维的效果,是哪一步出问题了呢(因为es6的箭头函数用的少,想把箭头函数改成es5版的降维)
#JavaScript#