Использовать значение переменной в качестве индекса объекта - PullRequest
1 голос
/ 27 июля 2010

Я хочу использовать значение переменной в качестве «индекса» объекта, значения внутри него.К сожалению, этот код не будет работать.


            animatedObjects = {
                userPosition.uid: {
                    "uid": userPosition.uid,
                    "x": 30,
                    "y": 31
                }
            }

Куда это идет не так?

Ответы [ 2 ]

2 голосов
/ 27 июля 2010

userPosition.uid, вероятно, не работает.Вам также не хватает закрывающей скобки.

Вот минимальный пример, демонстрирующий работающую концепцию.Если у вас userPosition.uid работает, ваш пример все в порядке.Проверьте, что вы можете вывести только userPosition.uid.

a = {}
b = {c: 3}
a[b.c] = 5
a  // now equal to {3: 5}
0 голосов
/ 28 июля 2010
animatedObjects = {
    userPosition.uid: { // pos 1
    "uid": userPosition.uid, // pos2
          "x": 30,
          "y": 31
     }
}

Это не может работать.Прежде всего, в позиции 1 вы, вероятно, имеете в виду

animatedObjects = {
    userPosition:{
        uid : 
    }
}

, иначе вы создаете animatedObjects['userPosition.uid'] вместо animatedObjects.userPosition.uid.

Во-вторых, в позе 2 вы пытаетесь инициализировать переменную объектом, который вы только что создали.Это не может работать, так как нет ссылки для передачи.(В простом объекте нет контекста this, вы можете передавать его по ссылке только при создании, но не при создании).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...