В этом вопросе обсуждается концепция ассоциированного массива и объекта в 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, объект, содержащий этот ассоциативный массив, не имеет ключа.
Ассоциированный массив определяется как пары ключ-значение, которые выражаются как объект
в JavaScript.
Внешний объект, назначенный для проверки
, имеет ключ pattern
и значение другого объекта. Внутренний объект имеет ключи name
, email
... и соответствующие значения объектов регулярных выражений.
Можно ли считать оба объекта ассоциативными массивами?