Preciso definir um nome de propriedade de objeto JS dinamicamente.
for(i=1; i<3; i++) {
var key = i+'name';
data = {
key : 'name1',
}
}
O resultado deve ser:
data = {
1name: 'name1'
2name: 'name1'
}
javascript
Vinoth Babu
fonte
fonte
Respostas:
fonte
Você precisará usar a
[]
notação para definir chaves dinamicamente.Agora no ES6, você pode usar a sintaxe literal do objeto para criar chaves de objeto dinamicamente, basta agrupar a variável em
[]
fonte
Com o ECMAScript 6, você pode usar nomes de propriedades variáveis com a sintaxe literal do objeto, assim:
Essa sintaxe está disponível nos seguintes navegadores mais recentes:
( https://kangax.github.io/compat-table/es6/ )
Você pode adicionar suporte a navegadores mais antigos usando um transpiler como o babel . É fácil transpilar um projeto inteiro se você estiver usando um empacotador de módulo, como rollup ou webpack .
fonte
Esta é a maneira de definir dinamicamente o valor
fonte
Use uma variável como uma chave de objeto
Veja Como iterar no seu objeto aqui
fonte
Não importa de onde a variável vem. Principal coisa que temos um ... Defina o nome da variável entre colchetes "[..]".
fonte
isso será semelhante a
fonte
De acordo com o comentário do Sainath SR acima, pude definir um nome de propriedade de objeto js a partir de uma variável no Script do Google Apps (que ainda não suporta o ES6), definindo o objeto e definindo outra chave / valor fora do objeto:
fonte