Вставьте переменные в массив, содержащий переменные — Javascript

#javascript #arrays #variables #push

Вопрос:

У меня есть код

 var myArray = []

myArray.push( { "bob" : { "banana" : "yellow" } })

console.log(myArray)
 

который возвращает

 {
    "bob": {
        "banana": "yellow"
    }
}
 

Теперь я хочу изменить переменные следующим образом:

 var myArray = []

var name = "bob"
var fruit = "banana"
var fruitcolor = "yellow"

myArray.push( { name : { fruit : fruitcolor } })

console.log(myArray)
 

но это не приводит к тому же результату. Как мне это исправить?

Спасибо!

Комментарии:

1. myArray.push( { [name] : { [fruit] : fruitcolor } }) . Используйте обозначения в скобках.

Ответ №1:

Если вы хотите установить строку в качестве ключа объекта, вы должны использовать bracket notation

Заменять

 myArray.push( { name : { fruit : fruitcolor } })
 

с :

 myArray.push( { [name] : { [fruit] : fruitcolor } })