基于对象值列表的新对象

时间:2018-09-17 20:12:11

标签: javascript

我有对象数组:

const objects = [
  {id: 2, name: "aaa"},
  {id: 4, name: "bbb"},
  {id: 11, name: "ccc"},
  {id: 21, name: "ddd"}
];

是否可以选择基于对象的ID创建新对象?

我想收到:

const list = {
   2: false,
   4: false,
   11: false,
   21: false
};

我可以遍历对象,但是也许存在更好的方法?

1 个答案:

答案 0 :(得分:1)

我喜欢为此使用array.reduce。 Reduce减少一个数组并将其“减少”到其他值。

var byId = objects.reduce(function(map, obj){
  map[obj.id] = obj;
  return map;
}, {})