我如何将json值转换为键

时间:2012-04-26 14:55:52

标签: json underscore.js

有更快的方法来改变它:

[
    { name: 'name1', value: 'value1' },
    { name: 'name2', value: 'value2' },
    { name: 'name3', value: 'value3' },
    ...
]

进入这个:

{
    name1: value1,
    name2: value2,
    name3: value3,
    ...
}

没有手动循环和填充对象? 下划线库有没有办法做到这一点?它已经在我们的应用程序中了 它可以在没有额外费用的情况下使用。

目前我有手动操作, 虽然我不确定这是我能拥有的最佳表现。

    var data = [];      // see the array above
    var result = {};
    for(var i = 0; i < data.length; i++)
    {
        var o = data[i];
        result[o.name] = o.value;
    }

1 个答案:

答案 0 :(得分:1)

我认为没有更快的方法。使用下划线有一个更短的方式,但它几乎肯定比你的循环慢:

var result = _.reduce(data, function(r,o) { r[o.name] = o.value; return r; }, {});