扁平数据结构化

Posted wenhandi

tags:

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

var sourceData = [{
        date: ‘2018-03-23‘,
        totalMoney: ‘500‘,
        goodsCount: ‘12‘
    }, {
        date: ‘2018-03-22‘,
        totalMoney: ‘500‘,
        goodsCount: ‘23‘
    }, {
        date: ‘2018-02-20‘,
        totalMoney: ‘300‘,
        goodsCount: ‘11‘
    }, {
        date: ‘2018-02-18‘,
        totalMoney: ‘300‘,
        goodsCount: ‘12‘
    }]


    // [{
    //         date: ‘2018-03‘,
    //         totalMoney: ‘500‘,
    //         list: [{ goodsCount: ‘12‘}, { goodsCount: ‘23‘}]
    //     }
    // ]

    function flat2StructData(sourceData) {
        // 计算出结果数组的元素个数
        var temArr = new Set()
        sourceData.forEach(function(data, index) {
            temArr.add(data.date.substring(0, 7))
        })
        debugger
        var result = [],
            tmpA = [...temArr]

        tmpA.forEach(function(item, itemIndex) {
            result[itemIndex] = {
                date: item,
                totalMoney: ‘‘,
                list: []
            }
            sourceData.forEach(function(data, index) {
                // 相同年月的数据整合到一起
                if (!result[itemIndex].date || result[itemIndex].date == data.date.substring(0, 7)) {
                    result[itemIndex].totalMoney = data.totalMoney
                    result[itemIndex].list[index] = {
                        goodsCount: data.goodsCount
                    }
                }
            })
        })

        console.log(result)
        return result
    }
    flat2StructData(sourceData)

 

以上是关于扁平数据结构化的主要内容,如果未能解决你的问题,请参考以下文章

浅理解扁平数据结构转Tree(树形结构)

为啥树状结构,扁平化的网站利于seo优化

js把树形数据转成扁平数据

Javascript中扁平化数据结构与JSON树形结构转换详解

扁平数据结构化

JavaScript 扁平与树形数组数据的转换