Array.prototype.flat = function () { return this.reduce((pre, cur) => { if (!Array.isArray(cur)) { pre.push(cur) } else { pre.push(...cur.flat()) } return pre }, []) } console.log([1,2,3,[4,5,[6]]].flat())