Javascript Dictionary

Javascript Dictionary

本文关键字:Dictionary Javascript      更新时间:2023-09-26

我引用了这篇文章:

有字典在javascript像python吗?

我的字典是这样的:

        states_dictionary = {
         "1":["60","purple","1t"],
         "2":["50","blue","2t"],
         "3":["40", "red","3t"],
         "4":["30","yellow","4t"],
         "5":["20","black","5t"],
         "6":["10", "green","6t"],
         "7":["10", "orange","7t"]
    };

我有一个叫做reading的变量,在第一次迭代时,它是"1"。我想用字典得到这个变量对应的颜色。

我使用

:

color = states_dictionary.reading[1]

然而,我得到一个错误Uncaught TypeError: Cannot read property '1' of undefined

为什么会这样?

你想要什么:

color = states_dictionary.reading[1];

是对象states_dictionary的属性readingstates_dictionary没有名为reading的属性,因此返回undefined。你不能调用undefined的任何属性,所以你会得到你所观察到的错误。

如果reading是这样的变量:

var reading = 1; // or even "1"

然后你可以这样做:

color = states_dictionary[reading][1];

color将得到purple的值。

使用括号表示法来动态访问使用变量而不是点表示法的属性。例如:

var foo = someObj.Foo;
var foo = someObj["Foo"];

是等价的。但这两个:

var bar = "Foo";
var foo = someObj.bar;
var foo = someObj[bar];