将对象转换为带下划线的数组

时间:2014-12-17 07:33:19

标签: javascript arrays object underscore.js

我试图使用Underscore将javascript对象转换为数组,但是我对理解Underscore有一些问题。 我想隐瞒这个:

{ key1: value1, key2: value2},{key1: value1, key2: value2}

进入这个:

[value1, value2],[value1, value2]

2 个答案:

答案 0 :(得分:3)

您可以像这样使用_.map_.values

var data = [{ key1: 1, key2: 2 }, { key1: 3, key2: 4 }];
console.log(_.map(data, _.values));
# [ [ 1, 2 ], [ 3, 4 ] ]

如果您喜欢通用JavaScript版本,则可以

console.log(data.map(function(currentObject) {
    return Object.keys(currentObject).map(function(currentKey) {
        return currentObject[currentKey];
    })
}));
# [ [ 1, 2 ], [ 3, 4 ] ]

答案 1 :(得分:0)

我认为你输入的是Array对象并希望结果在Array的数组中,那么你可以使用原生的javascript来做到这一点

var output = input.map(function(obj){ return [obj.key1, obj.key2] });