Muszę dynamicznie ustawić nazwę właściwości obiektu JS.
for(i=1; i<3; i++) {
var key = i+'name';
data = {
key : 'name1',
}
}
Wynik powinien być:
data = {
1name: 'name1'
2name: 'name1'
}
javascript
Vinoth Babu
źródło
źródło
Odpowiedzi:
źródło
Będziesz musiał używać
[]
notacji, aby dynamicznie ustawiać klucze.Teraz w ES6 możesz używać składni literału obiektowego do dynamicznego tworzenia kluczy obiektów, po prostu zawiń zmienną
[]
źródło
Dzięki ECMAScript 6 możesz używać nazw właściwości zmiennych ze składnią literału obiektu, na przykład:
Ta składnia jest dostępna w następujących nowszych przeglądarkach:
( https://kangax.github.io/compat-table/es6/ )
Możesz dodać obsługę starszych przeglądarek za pomocą transpilera, takiego jak babel . Transpile całego projektu jest łatwe, jeśli używasz pakietu modułów, takiego jak rollup lub webpack .
źródło
Jest to sposób na dynamiczne ustawianie wartości
źródło
Użyj zmiennej jako klucza obiektu
Zobacz, jak iteretować swój obiekt tutaj
źródło
Nie ma znaczenia, skąd pochodzi zmienna. Najważniejsze, że mamy jedno ... Ustaw nazwę zmiennej w nawiasach kwadratowych "[..]".
źródło
będzie to podobne do
źródło
Zgodnie z powyższym komentarzem Sainath SR, mogłem ustawić nazwę właściwości obiektu js na podstawie zmiennej w Google Apps Script (która jeszcze nie obsługuje ES6), definiując obiekt, a następnie definiując inny klucz / wartość poza obiektem:
źródło