Удалить фильтр id из объектов и изменить его на простой формат с помощью JavaScript - PullRequest
0 голосов
/ 19 июня 2019

У меня есть результат MP3, дающий мне это:

"mp3": {
  "33274": {
    "idSon": 33274,
    "description": "Techno Music",
    "Typenom": "Billboard",
  },
  "33275": {
    "idSon": 33275,
    "description": "Techno Music",
    "Typenom": "Pub Cd/Dvd",

  }
},

Я хочу просто удалить фильтр по идентификатору, чтобы результат был следующим:

"mp3": {
  {
    "idSon": 33274,
    "description": "Techno Music",
    "Typenom": "Billboard",
  },
  {
    "idSon": 33275,
    "description": "Techno Music",
    "Typenom": "Pub Cd/Dvd",
  }
},

Это моя функция до сих пор. Результат в порядке, но моя проблема в том, что я хочу удалить Id и по-прежнему фильтровать его:

let resultMp3 = {};
let sqlPromise = await new Promise(function (resolve, reject) {

  var ds = app.datasources.mydb;
  var sql = `....`;

  ds.connector.execute(sql, [], function (err, cm_comediens_extraits_mp3s) {

  if (cm_comediens_extraits_mp3s.length === 0){
    resultMp3 = {}
  }else{
    for(var i=0; i<cm_comediens_extraits_mp3s.length;i++){        
      let extraitMp3 = cm_comediens_extraits_mp3s[i];
      let mp3 = {};
      mp3["idSon"] = extraitMp3.idSon;
      mp3["description"] = extraitMp3.description;
      mp3["Typenom"] = valueList[extraitMp3.type].fr;

      resultMp3[extraitMp3.idSon] = mp3;   

    }
  }
   resolve(resultMp3);   

  }); 
});
result.mp3=resultMp3;

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Если ваша цель - создать массив объектов, вы можете использовать Object.values()

let obj = {
  "mp3": {
    "33274": {
      "idSon": 33274,
      "description": "Techno Music",
      "Typenom": "Billboard",
    },
    "33275": {
      "idSon": 33275,
      "description": "Techno Music",
      "Typenom": "Pub Cd/Dvd",

    }
  }
}

obj.mp3 = Object.values(obj.mp3)

console.log(obj)

В вашем случае вы можете инициализировать resultMp3 как массив (let resultMp3 = [];) и заменить эту строку

resultMp3[extraitMp3.idSon] = mp3;

на

resultMp3.push(mp3);
0 голосов
/ 19 июня 2019

Вы можете использовать Object.values

let data = { "mp3": {
  "33274": {
    "idSon": 33274,
    "description": "Techno Music",
    "Typenom": "Billboard",
  },
  "33275": {
    "idSon": 33275,
    "description": "Techno Music",
    "Typenom": "Pub Cd/Dvd",

  }
}
};
let d = {"mp3" : Object.values(data.mp3)}
console.log(d)
...