gpt4 book ai didi

javascript - 将值数组与另一个对象进行匹配

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:15 24 4
gpt4 key购买 nike

我对此很陌生,我有一个如下所示的对象数组,

arr1 = {
"ID": "sss",
"Name": "Ven"
"Main": [
{"ID": "asds-vg45"},
{"ID": "rrra-2e82"}
]
}

还有另一个值对象,如下所示,

obj1 = {
"AID": "ssasas222",
"Main": {
"asds-vg45" : {
"NAME" : "Item1",
"STML" : {
"MIKE" : {
"bearer" : {
"token" : "ya29.Gl0kBoYJD"
},
"STA" : true
}
},
"STATUS" : true
},
"rrra-2e82" : {
"NAME" : "Item2",
"STML" : {
"MIKE" : {
"bearer" : {
"token" : "yas9.Gl0kBoYJD"
},
"STA" : true
}
},
"STATUS" : true
},
"t655e-2e82" : {
"NAME" : "Item2",
"STML" : {
"MIKE" : {
"bearer" : {
"token" : "yas9.Gl0kBoYJD"
},
"STA" : true
}
},
"STATUS" : true
}
}

现在,我正在尝试获取一个新对象,其中包含“Main”对象的 obj1 中与“arr1”匹配的所有值以及“obj1”中的“ID”,这里的匹配 ID 是“Main”数组中的 ID,这在两者中都很常见,我试图获得的输出如下所示,

main_obj = {
"ID": "sss",
"Name": "Ven",
"AID": "ssasas222"
"Main": {
"asds-vg45" : {
"NAME" : "Item1",
"STML" : {
"MIKE" : {
"bearer" : {
"token" : "ya29.Gl0kBoYJD"
},
"STA" : true
}
},
"STATUS" : true
},
"rrra-2e82" : {
"NAME" : "Item2",
"STML" : {
"MIKE" : {
"bearer" : {
"token" : "yas9.Gl0kBoYJD"
},
"STA" : true
}
},
"STATUS" : true
}
}
}

最佳答案

您可以将给定数据的键和对象映射为一个新对象。

var data = { AID: "ssasas222", Main: { "asds-vg45": { NAME: "Item1", STML: { MIKE: { bearer: { token: "ya29.Gl0kBoYJD" }, STA: true } }, STATUS: true }, "rrra-2e82": { NAME: "Item2", STML: { MIKE: { bearer: { token: "yas9.Gl0kBoYJD" }, STA: true } }, STATUS: true }, "t655e-2e82": { NAME: "Item2", STML: { MIKE: { bearer: { token: "yas9.Gl0kBoYJD" }, STA: true } }, STATUS: true } } },
filter = { ID: "sss", Name: "Ven", Main: [{ ID: "asds-vg45" }, { ID: "rrra-2e82" }] },
result = Object.assign(
{},
data,
{ Main: Object.assign(...filter.Main.map(({ ID }) => ({ [ID]: data.Main[ID] }))) }
);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 将值数组与另一个对象进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52530801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com