JavaScript 数据扁平化处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 数据扁平化处理相关的知识,希望对你有一定的参考价值。

// 数组扁平化处理
[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 数据扁平化处理的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript数组常用方法解析和深层次js数组扁平化

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

JavaScript之链式结构序列化

JavaScript之链式结构序列化

JavaScript 链式结构序列化详解

JavaScript实现树形扁平化(数组降维)