Как отобразить массив объектов, отфильтрованных по Id - PullRequest
0 голосов
/ 17 июня 2019

У меня есть этот результат 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]
  );
})}

Ответы [ 2 ]

1 голос
/ 17 июня 2019
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;
})
0 голосов
/ 17 июня 2019
    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"],
        })
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...