javascript - tri des objets
天蓬老师
天蓬老师 2017-05-19 10:10:41
0
5
486

Comme le montre l'image, je souhaite inverser l'ordre basé sur "1", "99", "23", cela devient

 ;

NvTC

Puis-je demander au maître qui sait ? Merci

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(5)
巴扎黑

Dans Objet, les données sont stockées dans des paires clé => valeur, il n'y a donc pas de problème d'ordre

Peter_Zhu
  1 var obj = {
  2     '1':{
  3         val:'red'
  4      },
  5      '99':{
  6         val:'yellow'
  7      },
  8      '37':{
  9         val:'blue'
 10      }
 11 };
 12
 13 function selirizeData(obj){
 14     var keys = Object.keys(obj).sort(function(a,b){
 15         return a-b;
 16     });
 17     var newObj = {};
 18     keys.forEach(function(val){
 19         newObj[val] = obj[val];
 20     });
 21     console.log(keys);
 22     console.log(newObj);
 23 }
 24 selirizeData(obj);

Utilisez d'abord Object.keys() pour obtenir le tableau de clés de l'objet, puis utilisez la méthode de tri du tableau pour trier, puis utilisez la méthode foreach du tableau pour parcourir le tableau, trier les données de l'objet d'origine et les écrire dans le nouvel objet.

伊谢尔伦
var obj = { /* ..略.. */ }

var res = Object.keys(obj).map(e => parseInt(e)).sort().map(e => obj[e]);

淡淡烟草味

#🎜🎜Les objets #JS ne sont pas ordonnés.

Aussi :
{

"11": "aaa"
}

Le 11 à l'intérieur est une ficelle.

淡淡烟草味

Pensées :forin所有的keyArray,排序Array.sort(),遍历Array,按顺序取值obj[key]

    var keys = [];
    for (var i in obj) {
        keys.push(i);
    }
    keys.sort();
    for (var i = 0; i < keys.length; i++) {
        var key = keys[i];
        console.log(obj[key]);
    }
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal