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 { ...