2017-04-22 3 views
0

Ich versuche, Objekte (Schlüssel, Wert) Werte zu sortieren und in der Konsole zu drucken. Ich weiß, dass Objektschlüssel sortiert werden, aber ich weiß keine Sortierung. Ich habe versucht, nach Code zu sortieren, um Objektwerte zu sortieren.Wie sortiere ich die alphabetische Reihenfolge in Objektwerten?

countries1 = { 
 
    IN: ["India"], 
 
    AE: ["United Arab Emirates"], 
 
    AT: ["Austria"], 
 
    SV: ["El Salvador"], 
 
    SX: ["Sint Maarten (Dutch part)"], 
 
    CH: ["Switzerland"], 
 
    CI: ["Côte d'Ivoire"], 
 
    SZ: ["Swaziland"], 
 
    CG: ["Congo"] 
 
}; 
 

 
var keys = Object.keys(countries1), 
 
    i, 
 
    len = keys.length, 
 
    keys1 = []; 
 
var objects = {}; 
 

 
for (var x = 0; x < len; x++) { 
 
    var k = keys[x]; 
 
    var j = countries1[k][0]; 
 
    objects[k] = j; 
 
} 
 

 
console.log(objects);

Antwort

0

Sie können ein Objekt in JavaScript sortieren. Wenn Sie die Kontrolle über das Objekt haben, machen Sie es stattdessen zu einem Array, mit dem Sie leichter arbeiten können. Ansonsten wandle es in ein Array um und arbeite damit.

z.B.

var countries1 = { 
 
    IN: ["India"], 
 
    AE: ["United Arab Emirates"], 
 
    AT: ["Austria"], 
 
    SV: ["El Salvador"], 
 
    SX: ["Sint Maarten (Dutch part)"], 
 
    CH: ["Switzerland"], 
 
    CI: ["Côte d'Ivoire"], 
 
    SZ: ["Swaziland"], 
 
    CG: ["Congo"] 
 
}; 
 

 
var sorted = Object 
 
    .keys(countries1) 
 
    .map(function(value, index) { 
 
    return [countries1[value][0], value]; 
 
    }) 
 
    .sort(); 
 

 
console.log(sorted);

Warum Sie nicht ein Objekt besser sortieren kann hier erklärt: https://stackoverflow.com/a/1069705/1869996

Verwandte Themen