function myFlat(arr,count){
if(count == 0){
return arr
}
return arr.reduce((res,value)=>{
if(Array.isArray(value)){
res = res.concat(myFlat(value,count-1))
}else{
res = res.concat(value)
}
return res
},[])
}
var a = [1,2,3,[5,6,4,[8,9,9,10]]]
let result = myFlat(a,1)
console.log(result) //[ 1, 2, 3, 5, 6, 4, [ 8, 9, 9, 10 ] ]