2013-03-06 3 views
0

Импорт данных в объект (потому что я хочу его преобразовать в json позже).Добавление в объекты/массивы

var myObject = new Object(); 

myObject.name = "John"; 
myObject.name = "James"; 

Я не слишком уверен, как это работает, потому что я хочу рода рассматривать его как массив, будучи в состоянии перебрать и выход каждого имени

myObject[i]['name']; 

Где я буду неправильно?

ответ

0

Вы не можете сделать это так, как вы это делали. Попробуйте так:

var myObjectNames = []; // means a new Array, or you can use: new Array() instead; 

Вы можете добавить новые имена, как это:

myObjectNames.push("John"); 
myObjectNames.push("James"); 

Затем вывести их все:

for(var x in myObjectNames) { 
    console.log(myObjectNames[x]); // will output your names in the console 
} 

Или используйте функцию присоединения:

console.log(myObjectNames.join(";")); // will output: "John;James" in the console 

РАСШИРЕНИЕ ОТВЕТ

Вы можете иметь объект:

var myObject = []; 

Тогда просто раздвинуть имена в этот массив в key->value пар:

var myNames = ['John', 'James', 'Zlatan']; 

for(var x in myNames) { 
    myObject.push({name: myNames[x]}); 
} 

console.log(myObject); 

Там вы будете иметь следующую структуру в консольном исполнении:

[Object { name= 

"John" 

}, Object { name= 

"James" 

}, Object { name= 

"Zlatan" 

}] 
0

Если вам нужен массив имен, вы можете инициализировать myObject как массив и добавить к нему имена, а также добавить либо указав индекс, либо используя «push».

nameArray = []; //or new Array(); 
nameArray[0] = 'John'; 
nameArray.push('James'); 

Единственное, о выше, что вы можете хранить только одну часть информации (например, вы можете сохранить имя, но не имя и возраст) Если вы хотите хранить больше, чем тот, который вы можете создавать объекты первого со свойствами, которые вы хотите, а затем хранить их в массив:

personArray = []; 
person1= new Object(); 
person1.name = 'John'; 
person1.age = 18; 
personArray.push(object1); 
person2 = {}; //Shorter version of new Object() 
person2.name = 'James'; 
person2.age = 31; 
personArray.push(person2); 

Тогда это можно получить по желанию:

personArray[1]['name']; //James 
personArray[0].age; //18 
Смежные вопросы