0

Ich kann nicht scheinen, um mit der Verwendung von Schlüssel/Wert-Paaren typeahead zu arbeiten. Da jeder Schlüssel anders ist, möchte ich nur den Wert als Typeahead-Wert anzeigen.Angular UI Typeahead - Verwenden eines Arrays von Schlüssel/Wert-Paaren

Hier ist ein Beispiel eines Arrays Ich versuche zu verwenden:

, also
[ 
    {"1":"partner1"}, 
    {"2":"partner2"}, 
    {"3":"partner3"}, 
    {"4":"partner4"} 
] 

wie soll ich mich über jedes Objekt durch Iterieren und nur den Wert für jeden Grabbing (dh „partner1“.) im Drop-down-Menü "Typahead" angezeigt werden?

Danke für Ihre Hilfe!

Antwort

0

var data = [ 
 
{"1":"partner1"}, 
 
{"2":"partner2"}, 
 
{"3":"partner3"}, 
 
{"4":"partner4"} 
 
]; 
 
for (var i = 0; i < data.length; i++) { 
 
    data[i] = data[i][Object.keys(data[i])[0]]; 
 
} 
 
console.log(data)

Zusammenfassung:

Für jedes Objekt im Array, den ersten Schlüssel erhalten. Greifen Sie mit diesem Schlüssel auf den Wert zu und überschreiben Sie das Objekt mit diesem Wert.

+0

das sieht unglaublich schmerzhaft aus. kein einfacher Weg? – jdmdevdotnet

+0

Es könnte andere Wege geben, um es zu schreiben, aber am Ende des Tages müssen sie alle auf dieses herunterkochen. Sie müssen natürlich das Array durchlaufen (For-Schleife oder Iterator). Dann müssen Sie herausfinden, welchen Schlüssel Sie wollen (es gibt nur einen, also ist es dieser). Dann müssen Sie auf den mit diesem Schlüssel indizierten Wert zugreifen. Dann müssen Sie diesen Wert speichern. Es könnte einige Bibliotheken geben, die den Code kürzer machen, aber sie werden am Ende dasselbe oder etwas noch Schlimmeres machen. –

Verwandte Themen