Javascript 如何映射按Id归档的对象数组
我有这个JSON结果。我要做的是删除对象中的一些元素,并仅显示其中的一些元素。问题是要获取元素,我想我必须映射JSON才能到达,但在这种情况下如何做到这一点 这是我的JSON:Javascript 如何映射按Id归档的对象数组,javascript,arrays,json,object,Javascript,Arrays,Json,Object,我有这个JSON结果。我要做的是删除对象中的一些元素,并仅显示其中的一些元素。问题是要获取元素,我想我必须映射JSON才能到达,但在这种情况下如何做到这一点 这是我的JSON: [ { "33274": { "idSon": 33274, "idMedia": 42084, "qfDiffusion": null, "qfAccent": null, "qfAge":
[
{
"33274": {
"idSon": 33274,
"idMedia": 42084,
"qfDiffusion": null,
"qfAccent": null,
"qfAge": 169,
"qfCartoon": null,
"qfDoublage": null,
"qfInterpretation1": 194,
"qfInterpretation2": 194,
"qfInterpretation3": 193,
"qfImitation": null,
"qfLangue": 145,
"qfPersonnage": null,
"qfTimbre": 237,
"qfChante": null,
"qfType": 245,
"qfGenre": "Masculin",
"triRandom": 0,
"timestampCreation": "2019-06-13T10:55:34.000Z",
"timestampModification": "2019-06-13T10:55:34.000Z",
"description": "Techno Music"
}
},
{
"33275": {
"idSon": 33275,
"idMedia": 42086,
"qfDiffusion": null,
"qfAccent": null,
"qfAge": 240,
"qfCartoon": null,
"qfDoublage": null,
"qfInterpretation1": 196,
"qfInterpretation2": 195,
"qfInterpretation3": 247,
"qfImitation": null,
"qfLangue": 147,
"qfPersonnage": null,
"qfTimbre": 236,
"qfChante": null,
"qfType": 176,
"qfGenre": "Masculin",
"triRandom": 0,
"timestampCreation": "2019-06-13T11:05:48.000Z",
"timestampModification": "2019-06-13T11:05:48.000Z",
"description": "Techno Music"
}
}
]
这是期望的输出
[
{
"33274": {
"idSon": 33274,
"idMedia": 42084,
"description": "Techno Music"
}
},
{
"33275": {
"idSon": 33275,
"idMedia": 42086,
"description": "Techno Music"
}
}
]
我开始使用.map来映射数组,我得到的是未定义的
let sonMp3 = await app.models.cm_comediens.getMp3ById(id);
{sonMp3.map(idSon => {
console.log('testtt', sonMp3[idSon]
)
return (
sonMp3[idSon]
);
})}
所需的输出是什么?您尝试了什么?我编辑了问题请检查请用您的代码添加一些解释,这将提高此答案的质量。您必须对所有关键字名称重复delete语句,此外,您不需要为此声明新数组,它在此处更新相同的数组,因此,如果你想删除5个字段,你必须用注释中没有的关键字名称写5条删除语句,编辑答案。看看:
arr.forEach((obj) => {
Object.keys(obj).map((o) => {
delete obj[o]["qfAccent"],
delete obj[o]["qfAge"],
delete obj[o]["qfDiffusion"],
delete obj[o]["qfCartoon"],
delete obj[o]["qfDoublage"],
delete obj[o]["qfInterpretation1"],
delete obj[o]["qfInterpretation2"],
delete obj[o]["qfInterpretation3"],
delete obj[o]["qfImitation"],
delete obj[o]["qfLangue"],
delete obj[o]["qfPersonnage"],
delete obj[o]["qfTimbre"],
delete obj[o]["qfChante"],
delete obj[o]["qfType"],
delete obj[o]["qfGenre"],
delete obj[o]["triRandom"],
delete obj[o]["timestampCreation"],
delete obj[o]["timestampModification"],
})
});
const mappedArr = arr.map(id => {
mappedObj = {}
Object.keys(id).forEach(key => {
mappedObj[key] = {
"idSon": id[key].idSon,
"idMedia": id[key].idMedia,
"description": id[key].description,
}
});
return mappedObj;
})