2015-02-07 2 views
0
var i; 


    var Book = new Array(); 
    var Book[0] = [title: "1984", author: "George Orwell", publisher: "Harvill Secker", price: "€8.99"]; 
    var Book[1] = [title: "Metro 2033", author: "Dmitry Glukhovsky", publisher: "Orionbooks", price: "€12.99"]; 
    var Book[2] = [title: "Always Outnumbered, Always Outgunned", author: "Walter Mosley", publisher: "W. W. Norton & Company", price: "€5.99"];  
    var Book[3] = [title: "Journey to the Center of the Earth", author: "Jules Verne", publisher: "Pierre Jules Hetzel", price: "€4.99"]; 

Я пытаюсь выяснить, как создать массив объектов, обладающих собственными свойствами, но это, похоже, не работает. Я не понимаю, что происходит.Создание массива объектов со своими собственными свойствами в Javascript

EDIT:

var i; 
    var Book = new Array(); 
    Book[0] = {title: "1984", author: "George Orwell", publisher: "Harvill Secker", price: "€8.99"}; 
    Book[1] = {title: "Metro 2033", author: "Dmitry Glukhovsky", publisher: "Orionbooks", price: "€12.99"}; 
    Book[2] = {title: "Always Outnumbered, Always Outgunned", author: "Walter Mosley", publisher: "W. W. Norton & Company", price: "€5.99"};  
    Book[3] = {title: "Journey to the Center of the Earth", author: "Jules Verne", publisher: "Pierre Jules Hetzel", price: "€4.99"}; 

    for (i = 0; i < 4; i++) 
    { 
     document.write("Book: " + Book[i].title + "Author: " + Book[i].author "Publisher: " + Book[i].publisher + "Price: " + Book[i].price); 
    } 

Это обновленный код. Это все еще не работает.

EDIT 2: Отсутствует символ «+» в документе document.write.

+3

Object буквальное обозначение использует фигурные скобки: '{название: '1984', автор:«Джордж ...} '. Квадратные скобки для массивных литералов. – RobG

+0

use Book [i] .author + "Publisher:" вместо Book [i] .author "Издатель:" – cyan

ответ

2

Вы передаете массив массивам, а не объектам.

  1. Изменить [ для {, так как второе является правильным определением объекта.
  2. Не используйте var дважды. Если у вас есть переменная, вы можете использовать ее без var.

    var Book = new Array(); 
    
    Book[0] = {title: "1984", author: "George Orwell", publisher: "Harvill Secker", price: "€8.99"}; 
    

Вы можете использовать его как это:

alert(Book[0].title); 
+0

Хорошо, я сделал это, и он по-прежнему не работает и не обновляет исходное сообщение. Объекты не печатаются с помощью document.write. Могу ли я использовать объекты в этом? – raz789

+0

он работает, но у вас есть недостаток + в параметре document.write. написать: Книга [i] .author + "Издатель:" – cyan

+0

Ну. Это огромная ошибка. Обновит верхний пост. – raz789

0

Синтаксис неверен.

Массив имеет вид: [] Объект: {}

Кроме переменной Книга должна быть объявлена ​​один раз.

Правильный путь:

var Book = new Array(); 
Book[0] = {title: "1984", author: "George Orwell", publisher: "Harvill Secker", price: "€8.99"}; 
Book[1] = {itle: "Metro 2033", author: "Dmitry Glukhovsky", publisher: "Orionbooks", price: "€12.99"}; 
Book[2] = {title: "Always Outnumbered, Always Outgunned", author: "Walter Mosley", publisher: "W. W. Norton & Company", price: "€5.99"};  
Book[3] = {title: "Journey to the Center of the Earth", author: "Jules Verne", publisher: "Pierre Jules Hetzel", price: "€4.99"}; 

Или

Book.push ({title: "1984", author: "George Orwell", publisher: "Harvill Secker", price: "€8.99"}) 
//... 
Смежные вопросы