令人困惑的讨论
在这个问题中,有关于JavaScript中关联数组和对象概念的讨论,我感到有点困惑。
在下面的示例代码中:
var check = {
pattern : {
name: /^[a-zA-Z-\s]{1,20}$/,
email: /^[a-zA-Z0-9._(-)]+@[a-zA-Z0-9.(-)]+\.[a-zA-Z]{1,4}$/,
pass: /.{6,40}/,
url: /^[(-)\w&:\/\.=\?,#+]{1,}$/,
aml: /<(.+)_([a-z]){1}>$/
}
};
这里的讨论让我感到困惑:
@steven.yang 在你的示例中,外部对象不是关联数组,但这就是所要求的。
@sissonb 你说的'外部对象不是关联数组'是什么意思?我认为在javascript中,关联数组被表示为对象。区别在于表示法-可以用
foo.bar
或foo[bar]
。@steven.yang 关联数组指的是键=>值。 http://en.wikipedia.org/wiki/Associative_array 你的内部对象有一个名为pattern的键,包含这个关联数组的对象没有键。
我对JS中关联数组和对象的理解
关联数组是以键值对形式定义的数据结构,在JavaScript中以对象
表示。
分配给check
的外部对象具有pattern
键和另一个对象的值。内部对象具有name
、email
等键和对应的正则表达式对象的值。
这两个对象都可以视为关联数组吗?