Javascript对象转换

Javascript对象转换,javascript,object,Javascript,Object,我想变换这个对象,这样我就可以这样称呼它了 汽车,牛,自行车,牛 var baseValue = [ { '2014-12-01': { 'cars;ox;2014-12-01':100, 'cars;ot;2014-12-01':150, 'bikes;ox;2014-12-01':50, 'bikes;ot;2014-12-01':80 },

我想变换这个对象,这样我就可以这样称呼它了

汽车,牛,自行车,牛

var baseValue = [
    {
        '2014-12-01': {
            'cars;ox;2014-12-01':100,
            'cars;ot;2014-12-01':150,
            'bikes;ox;2014-12-01':50,
            'bikes;ot;2014-12-01':80
        },
        '2014-12-02': {
            'cars;ox;2014-12-02':100,
            'cars;ot;2014-12-02':150,
            'bikes;ox;2014-12-02':50,
            'bikes;ot;2014-12-02':80
        }
    }
]

我尝试了很多方法,但最终我完全失去了希望

var category = []

var obj = baseValue[0]

Object.keys(obj).forEach(function(key) {
    var dane = obj[key]
    Object.keys(dane).forEach(function(key) {
        splitted = key.split(';')
        var category = splitted[0]
        var serviceName = splitted[1];
    })
})

如果有人能帮我解决这个问题,我将不胜感激

我想你已经很接近了,如果你想要的关键点不存在,你只需要创建对象。也许是这样的

var obj = baseValue[0]
var result = {};
Object.keys(obj).forEach(function(key) {
    var dane = obj[key]
    Object.keys(dane).forEach(function(key) {
        splitted = key.split(';')
        var category = splitted[0]
        var serviceName = splitted[1];
        if(!result[category]) {
            result[category] = {};
        }
        if(!result[category][serviceName]) {
            result[category][serviceName] = [];
        }

        result[category][serviceName].push(dane[key]);
    })
});


(结果记录到控制台。)

当您调用bikes.ox时,您希望得到什么值?在不知道预期结果的情况下很难转变你的问题是什么?你有错误吗?你没有得到预期的产出吗?预期的输出是什么?对于cars.ox,我想要array[100100]用于cars.ot[150150]“我尝试了很多方法,但最终我完全失去了所有希望。”你现在是一名开发人员,孩子。事实上,我很接近,这是真的。谢谢你的帮助:)