javascript – 将JSON Object数组转换为关联数组

前端之家收集整理的这篇文章主要介绍了javascript – 将JSON Object数组转换为关联数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有2个 JSON对象数组,如下所示:

资源:

  1. [{
  2. "DefinitionId": 193041,"ResourceId": -2147290607,"AssetId": 193041
  3. },{
  4. "DefinitionId": 193042,"ResourceId": -2147290603,"AssetId": 193042
  5. }]

ResourceIds

  1. [193041,193041,193042]

用例:

我需要为每个ResourceId列出我的Resources JSONObject的详细信息.例如,我想为ResourceIds中的每个ResourceId输出AssetId.

我的计划:

我认为将我的Resources JSON转换为关联数组是一个优雅的解决方案,这样我就可以像我这样访问ResourceId’193041’的AssetId:Resources [193041] .AssetId.问题:我只能考虑使用长代码将上面的Resources JSON转换为关联的JSON对象.

问题是:

如何将上述Resources JSON对象数组转换为以ResourceId为键的关联对象数组?

期望的Resources.json:

  1. {
  2. "-2147290607": {
  3. "DefinitionId": 193041,"AssetId": 193041
  4. },"-2147290603": {
  5. "DefinitionId": 193042,"AssetId": 193042
  6. }
  7. }
@H_404_27@解决方法
您可以使用一个对象并使用 Array#forEach迭代该数组

The forEach() method executes a provided function once per array element.

并将该元素分配给名称为a.ResourceId的属性.

回调使用Arrow function,因为只有一个赋值.

  1. var data = [{ "DefinitionId": 193041,"AssetId": 193041 },{ "DefinitionId": 193042,"AssetId": 193042 }],object = {};
  2.  
  3. data.forEach(a => object[a.ResourceId] = a);
  4.  
  5. console.log(object);

猜你在找的JavaScript相关文章