Skip to content

📚 2.flat

💻 代码实现

typescript
Array.prototype.myFlat = function(depth){
    const res = []
    const dfs = (arr, leval)=>{
        for (let i = 0; i < arr.length; i++) {
            if(Array.isArray(arr[i])){
                if (leval === depth) {
                    res.push(arr[i])
                    return
                }
                dfs(arr[i], leval + 1)
            }else{
                res.push(arr[i])
            }
        }
    }
    dfs(this, 1)
    return res
}


// 有点小混乱
let arr = [1, 2, 3, [3, 2, [1, 2, 3]]]
console.log(arr.myFlat(2))

Released under the MIT License.