美文网首页HTML5
展开多维数组(Array.prototype.flat) 的实现

展开多维数组(Array.prototype.flat) 的实现

作者: AvenKe | 来源:发表于2020-01-08 23:19 被阅读0次

    Array.prototype.flat是指将多维数组展开为一维数组,例如
    [0, [1], [[2]], [[[3]]]].flat() => [0, 1, 2, 3]
    截止目前(2020年1月)为止,该方法还处于草稿阶段,也就是说不是所有版本的浏览器都支持flat方法,具体浏览器支持如下:

    Browser version
    Chrome 69
    Safari 69
    Firefox 62
    Edge No
    IE No
    Opera 12
    Android webview 69
    Chrome for Android 62
    Safari for IOS 12
    Node.js 11.0.0

    具体实现如下:

    function flatArra(arr){
        const flatten = [];
        (function flat(input){
            input.forEach(one => {
                if(Array.isArray(one)){
                    flat(one);
                } else {
                    flatten.push(one);
                }
            })
        })(arr)
        return flatten;
    }
    
    flatArra([0, [1], [[2]]]) // [0, 1, 2]
    

    相关文章

      网友评论

        本文标题:展开多维数组(Array.prototype.flat) 的实现

        本文链接:https://www.haomeiwen.com/subject/hmjeactx.html