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