Array.prototype.myFlat = function(deep = 1){
let arr = this
if(deep == Number.Infinity){
while(arr.some(Array.isArray)){
arr = [].concat(...arr)
}
return arr
}
while(arr.some(Array.isArray) && deep > 0 && Number.isInteger(deep)){
arr = [].concat(...arr)
deep--
}
return arr
}