Я думал, что я мог бы развить эту тему. Если вы выполните следующие действия:
console.log(office_a);
Вы сможете увидеть следующий результат на вашем веб-инспектора (я использую Chrome). Я только напечатаю здесь соответствующую информацию, чтобы достичь того, чего вы намереваетесь достичь.
Object {name: Array[1], divisions: Array[1]}
divisions: Array[1]
0: Object
division1: "Division 1 Office Name"
division2: "Division 2 Office Name"
division3: "Division 3 Office Name"
mailstop: "DIV3"
name: Array[1]
0: Object
mailstop: "AB"
name: "Alpha Branch"
Посмотрев на это, вы можете получить очень четкое представление о том, как браузер интерпретирует ваш объект. Какой первый приводит к использованию JavaScript Literal Notation для того, чтобы получить доступ к его содержимому, как через objectName.propertyName
:
console.log(office_a.name);
console.log(office_a.divisions);
Это будет производить массивы видели выше:
divisions
0: Object
division1: "Division 1 Office Name"
division2: "Division 2 Office Name"
division3: "Division 3 Office Name"
mailstop: "DIV3"
name
0: Object
mailstop: "AB"
name: "Alpha Branch"
Отсюда вы можете получить доступ к каждому отдельный объекту, содержимое, которое в вашем случае представляет собой массив, содержащий объект.
console.log(office_a.name[0]);
console.log(office_a.divisions[0]);
Как я уже показал, доступ к конкретному содержимому объекта так же просто, как использование желаемого свойства внутри этого объекта. В вашем случае, вы хотите, чтобы увидеть все содержимое, так сделайте следующее:
console.log(office_a.name[0].name); // Alpha Branch
console.log(office_a.name[0].mailstop); // B1
console.log(office_a.divisions[0].division1); // Division 1 Office Name
console.log(office_a.divisions[0].mailstop); // DIV1
TL; DR
что приводит к следующему результату (обратите внимание, я изменил test()
функцию):
var office_a = {
name: [{
name: "Alpha Branch",
mailstop: "AB"
}],
divisions: [{
division1: "Division 1 Office Name",
mailstop: "DIV1",
division2: "Division 2 Office Name",
mailstop: "DIV2",
division3: "Division 3 Office Name",
mailstop: "DIV3"
}]
};
function test(myObject) {
alert(myObject.name[0].name); // Alpha Branch
alert(myObject.name[0].mailstop); // B1
alert(myObject.divisions[0].division1); // Division 1 Office Name
alert(myObject.divisions[0].mailstop); // DIV1
}
test(office_a);
первую очередь, вам нужно написать: 'вар office_a = {...}' 'отсутствующий в =' и ';' оператор. Затем вам нужно написать ',' после каждого из ваших разделов. Синтаксические ошибки ... Я упоминал ';' после каждого предупреждения? – AGE
Вам необходимо ознакомиться с основами доступа к объектам JavaScript. 'office_a [name]' ссылается на ** свойство, имя которого хранится в переменной 'name' **. Чтобы ссылаться на свойство 'name', вам нужно либо' office_a.name', либо 'office_a ['name']'. Это будет рассмотрено в любом базовом руководстве JS. –