首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将对象转换为对象数组(或对象集合)

问如何将对象转换为对象数组(或对象集合)
EN

Stack Overflow用户
提问于 2015-12-02 01:35:54
回答 3查看 1.8K关注 0票数 4

搜遍了,找不到这个,但我想这很容易。

我正在寻找类似.pairs()的交存“对象”,但我想要一个对象数组(或对象集合)。

示例:

代码语言:javascript
复制
// Sample Input
{"United States":50, "China":20}

// Desired Output
[{"United States":50}, {"China":20}]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-02 02:16:53

使用lodash,这是产生预期结果的一种方法:

代码语言:javascript
复制
var res = _.map(obj, _.rearg(_.pick, [2,1]));

上面的简短代码片段可能会让人感到困惑。如果不使用_.rearg函数,它将变成:

代码语言:javascript
复制
_.map(obj, function(v, k, a) { return _.pick(a, k); });

基本上,rearg函数用于对传递给pick方法的参数进行重新排序。

票数 5
EN

Stack Overflow用户

发布于 2015-12-02 01:48:15

像这样的东西就够了吗?不是房客,但是..。

代码语言:javascript
复制
var input = {"United States":50, "China":20};
Object.keys(input).map(function(key) {
  var ret = {};
  ret[key] = input[key];
  return ret;
});
//=> [{"United States":50}, {"China":20}]
票数 6
EN

Stack Overflow用户

发布于 2015-12-02 02:10:31

好的,如果你必须:

代码语言:javascript
复制
var input = {"United States":50, "China":20};
var ouput = _.map(input, function(val, key){ var o = {}; o[key] = val; return o; });

但这并不比先前的答案更好。情况更糟。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34033469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档