在哈巴狗/玉的词典的访问元素

时间:2017-04-22 18:50:24

标签: javascript pug

如果我有一本字典:

x = {"A" : 1, "B" : 2 }

我将这个字典传递给pug文件,如何在不迭代字典中的所有元素的情况下访问特定的键值?

对于前。 x[A]

我现在能想到的唯一方法是遍历元素:

for key, val in x

然后在val等于key时显示A的if条件。

我错过了一些明显的东西吗?

2 个答案:

答案 0 :(得分:1)

如果您将x字典传递到.pug文件,则可以使用1简单地显示此字典的密钥${x.A},与普通javascript相同。 请务必在表达式之间添加反斜杠。

答案 1 :(得分:-1)

每个Javascript对象都是一个关联数组,它是您可以发明的最常见的数组 - 有时这称为散列或映射结构或字典对象。 关联数组只是一组键值对。 该值与其键关联存储,如果提供键,则数组将返回该值。 这是一个关联数组,名称来自键和值之间的关联。密钥是一种通用地址,可用于检索存储的值。 例如:

array={key1: 'value1',key2:'value2'};

创建一个名为array的对象,其中包含两个键和两个值,在这种情况下恰好是两个常量字符串。 请注意,存储的值可以是任何JavaScript对象,在此示例中,最好考虑存储两个字符串对象而不是两个字符串文字。 密钥可以是标识符,字符串或数字,但更多关于密钥类型的差异,因为我们正在进行。 您可以使用数组表示法通过它来检索值:

console.log(array['key2']);

显示字符串value2。如果您尝试访问不存在的密钥,则会得到未定义的结果。

由于关联数组用作JavaScript对象的基础,因此可以使用另一种方法来访问使键看起来像属性的值。也就是说,您可以使用“属性语法”访问该值,如下所示:

console.log(array.key2);

所以在jade / pug中,如果你通过 x ,它会显示类似于js的结果。在你的情况下,它会是这样的:

${x["A"]} or ${x.A}