2016-06-08 15 views
1

Ich habe ein Objekt wie folgt:Nach Eigenschaften von Objekt in JavaScript sortieren?

object in JavaScript

ich zwei Dinge tun möchte.

  1. sortiert die Eigenschaften auf der Grundlage ihres Wert
  2. würde ich den Auftrag (oder Index) für eine bestimmte Immobilie zu erfahren. Zum Beispiel möchte ich nach der Bestellung wissen, dass der Index 00D der 5th ist.

Wie kann ich dies in JavaScript erreichen?

+0

99% der entsandten Fragen sind verpflichtet, einen haben, [MCVE (** M ** inimal, ** C ** omplete und ** V ** erifiable ** E ** xample)] (http : //stackoverflow.com/help/mcve). – zer00ne

+1

https://gist.github.com/umidjons/9614157 –

+0

Überprüfen Sie auch dies: http://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order –

Antwort

1

Während Sie Eigenschaften eines Objekts nicht sortieren können, könnten Sie ein Array von Schlüsseln des Objekts verwenden, sortieren Sie sie und nehmen Sie das gewünschte Element, das Sie möchten.

var keys = Object.keys(object),  // get all keys 
    indices = Object.create(null); // hash table for indices 

// sort by value of the object 
keys.sort(function (a, b) { return object[a] - object[b]; }); 

// create hash table with indices 
keys.forEach(function (k, i) { indices[k] = i; }); 

// access the 5th key 
console.log(keys[5]); 

// get index of 00G 
console.log(indices['00G']); 
+0

Danke Nina, aber ich bin nach die Indexnummer. Ich möchte '00G' liefern und seinen Index erhalten. Ich glaube auch, dass du dort die "Schlüssel" sortierst, nicht die "Werte", nach denen ich suche. – Ciwan

Verwandte Themen