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

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

资源:

[{
    "DefinitionId": 193041,"ResourceId": -2147290607,"AssetId": 193041
},{
    "DefinitionId": 193042,"ResourceId": -2147290603,"AssetId": 193042
}]

ResourceIds

[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:

{
    "-2147290607": {
        "DefinitionId": 193041,"AssetId": 193041
    },"-2147290603": {
        "DefinitionId": 193042,"AssetId": 193042
    }
}

解决方法

您可以使用一个对象并使用 Array#forEach迭代该数组

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

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

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

var data = [{ "DefinitionId": 193041,"AssetId": 193041 },{ "DefinitionId": 193042,"AssetId": 193042 }],object = {};

data.forEach(a => object[a.ResourceId] = a);

console.log(object);

猜你在找的JavaScript相关文章