89 votes

Changer le nom de la clé dans un tableau d'objets ?

Comment puis-je changer le nom de la clé dans un tableau d'objets ?

 var arrayObj = [{key1:'value1', key2:'value2'},{key1:'value1', key2:'value2'}];

Comment puis-je changer chaque key1 en stroke pour obtenir :

 var arrayObj = [{stroke:'value1', key2:'value2'},{stroke:'value1', key2:'value2'}];

49voto

Paulpro Points 54844
var i;
for(i = 0; i < arrayObj.length; i++){
    arrayObj[i].stroke = arrayObj[i]['key1'];
    delete arrayObj[i].key1;
}

37voto

alex351 Points 328

Méthode ES6 map() :

 let arrayObj = [{key1:'value1', key2:'value2'},{key1:'value1', key2:'value2'}];

arrayObj = arrayObj.map(item => {
      return {
        stroke: item.key1,
        key2: item.key2
      };
    });

19voto

Guffa Points 308133

Vous ne pouvez pas modifier le nom d'une propriété, vous devez ajouter la valeur avec un nouveau nom et supprimer l'ancienne propriété :

 for (var i = 0; i < arrayObj.length; i++) {
  arrayObj[i].stroke = arrayObj[i].key1;
  delete arrayObj[i].key1;
}

17voto

jayesh sheta Points 1

une seule ligne de code nécessaire avec ES6

essayez le code suivant :

 arrayObj.map(({ stroke, key2 }) => ({ yourNewKey: stroke, yourNewKey2: key2 }));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X