Javascript 如何映射按Id归档的对象数组

Javascript 如何映射按Id归档的对象数组,javascript,arrays,json,object,Javascript,Arrays,Json,Object,我有这个JSON结果。我要做的是删除对象中的一些元素,并仅显示其中的一些元素。问题是要获取元素,我想我必须映射JSON才能到达,但在这种情况下如何做到这一点 这是我的JSON: [ { "33274": { "idSon": 33274, "idMedia": 42084, "qfDiffusion": null, "qfAccent": null, "qfAge":

我有这个JSON结果。我要做的是删除对象中的一些元素,并仅显示其中的一些元素。问题是要获取元素,我想我必须映射JSON才能到达,但在这种情况下如何做到这一点

这是我的JSON:

[
      {
        "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;
})