Muszę utworzyć tablicę literałów obiektowych w następujący sposób:
var myColumnDefs = [
{key:"label", sortable:true, resizeable:true},
{key:"notes", sortable:true,resizeable:true},......
W takiej pętli:
for (var i = 0; i < oFullResponse.results.length; i++) {
console.log(oFullResponse.results[i].label);
}
Wartość key
powinna znajdować się results[i].label
w każdym elemencie tablicy.
javascript
arrays
object-literal
codecowboy
źródło
źródło
var obj = {
bit, po prostu popchnij literał.var obj
do kodu wyraźniejsze, oczywiście można go pominąć, można napisać cały scenariusz w jednej linii, jeśli chcesz :)Odpowiedź RaYell jest dobra - odpowiada na twoje pytanie.
Wydaje mi się jednak, że naprawdę powinieneś tworzyć obiekt z etykietami z podobiektami jako wartościami:
Powyższe podejście powinno być znacznie szybsze i idiomatyczne niż przeszukiwanie całej tablicy obiektów w poszukiwaniu klucza dla każdego dostępu.
źródło
Możesz zrobić coś takiego w ES6.
źródło
W tym jest dobra mapa Array #
źródło
To zadziała:
źródło
Zgodnie z tym samym pomysłem Nicka Riggsa, ale tworzę konstruktor i pcham nowy obiekt w tablicy, używając go. Pozwala to uniknąć powtarzania kluczy klasy:
źródło
Chciałbym utworzyć tablicę, a następnie dołączyć do niej literały obiektowe.
źródło
źródło
[]
zamiastnew Array()
.Jeśli chcesz posunąć się dalej niż @tetra z ES6, możesz użyć składni Spreadów obiektowych i zrobić coś takiego:
źródło