0

Я не могу заставить typeahead работать с использованием пар ключ/значение. Поскольку каждый ключ отличается, и я хочу показать только значение типа typeahead.Угловой пользовательский интерфейс Typeahead - использование массива пар ключ/значение

Вот пример массива я пытаюсь использовать:

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

Итак, как я должен идти о переборе каждого объекта и только захватывая значение для каждого (т.е. «Partner1».) для отображения в раскрывающемся списке typeahead?

Благодарим за помощь!

ответ

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)

Резюме:

Для каждого объекта в массиве, получить первый ключ. Получите доступ к этому значению с помощью этого ключа и перепишите объект с этим значением.

+0

, который выглядит невероятно болезненным. не проще? – jdmdevdotnet

+0

Могут быть другие способы написать это, но в конце дня все они должны свалиться на это. Вам, очевидно, придется перебирать массив (для цикла или итератора). Затем вам нужно выяснить, какой ключ вы хотите (есть только один, так что это один). Затем вам нужно получить доступ к значению, индексированному этим ключом. Затем вы должны сохранить это значение. Могут быть некоторые библиотеки, которые могут сделать код короче, но в итоге они будут делать то же самое или что-то еще хуже. –