码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 数据扁平化处理

时间:2019-10-14 16:17:42      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:index   tostring   code   turn   prot   empty   script   数据   cal   

// 数组扁平化处理
[1,2,[3,4,[5,6]]].flat();

// 对象扁平化处理
Object.flatten = function(obj){
    var result = {};

    function recurse(src, prop) {
        var toString = Object.prototype.toString;
        if (toString.call(src) == ‘[object Object]‘) {
            var isEmpty = true;
            for (var p in src) {
                isEmpty = false;
                recurse(src[p], prop ? prop + ‘.‘ + p : p)
            }
            if (isEmpty && prop) {
                result[prop] = {};
            }
        } else if (toString.call(src) == ‘[object Array]‘) {
            var len = src.length;
            if (len > 0) {
                src.forEach(function (item, index) {
                    recurse(item, prop ? prop + ‘.[‘ + index + ‘]‘ : index);
                })
            } else {
                result[prop] = [];
            }
        } else {
            result[prop] = src;
        }
    }
    recurse(obj,‘‘);

    return result;
}

 

JavaScript 数据扁平化处理

标签:index   tostring   code   turn   prot   empty   script   数据   cal   

原文地址:https://www.cnblogs.com/GongYaLei/p/11672013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!