2015-11-11 4 views
-1

Как я могу сделать массив определенного типа данных в JavaScript, ?, Я читал о массивах и объектах, но я не нашел то, что я точно ищу:Javascript Массивы и объекты

Я просто хочу сделать:

person {name, lastname, age}; 

PersonsArray [n] of person; 

делать петли на нем, и установите значения

PersonsArray[0].name = ...; 
PersonsArray[0].lastname = ...; 
PersonsArray[0].age= ...; 

спасибо

+0

Вы не объявить любые типы в JS , Просто создайте массив и заполните его. – Bergi

+0

Вы ищете неправильную языковую функцию. JavaScript не работает так –

ответ

3

Объявите массив

var PersonsArray=[]; 

Затем нажмите свой объект к нему

PersonsArray.push({name:'ab', lastname:'bc', age:20}); 

JSFIDDLE

Или вы можете попробовать это

var PersonsArray=[]; 
for(var i=0;i<3;i++){ 
    PersonsArray[i]={}; 
    PersonsArray[i].name = "ab"; 
    PersonsArray[i].lastname = "bc"; 
    PersonsArray[i].age= 20; 

} 

JSFIDDLE

+0

Могу ли я получить доступ к полям, как в C?, например PersonArray [0] .name, PersonArray [0] .lastname –

+0

Если индекс имеет данные. Да, ты можешь. я создаю скрипку для вас. проверьте это: http://jsfiddle.net/aiubian/hb6mb514/ @ user4216713 –

+0

Спасибо, я испытал второй способ, он отлично работает –

3

Вы можете создать массив и итерацию через него, как это:

var personArray = []; 

var person = { name: "John", lastname: "Doe", age: 23 }; 

personArray.push(person); 

// enumerate array 
personArray.forEach(function(p) { 
    p.name += "2"; 
    alert(p.name); 
}); 
+0

Хорошо, я могу добавить нового человека таким образом, но что, если я хочу изменить значение поля в некоторой функции, personArray [0] .field ?, как в C. –

+2

@ user4216713 - Это просто 'personArray [0] .name =" Bob ";' Я бы предположил, что это будет гораздо эффективнее для вас, чтобы вы прошли основной учебный курс Javascript, а не задавали основные вопросы синтаксиса по одному здесь. – jfriend00

+1

Почему вы использовали '[] .forEach.call'? –

1

Вы также можете создать объект, как этот

var Person={firstname:"John", lastname:"Doe",age:"20"} 

Этот объект имеет три свойства

firstname 
lastname 
age 

Вы также можете изменить любое из указанных выше, если необходимо, например

Person.firstname="Mark" 

Looping найти имя для каждого свойства

for(i in Person){console.log(i)} 

выше будет печатать на консоли все свойства объекта

firstname 
lastname 
age 

создать много Persons идентичность, как вы например, путем создания функции конструктора объекта

function Person(firstname,lastname,age){ 
this.firstname=firstname; 
this.lastname=lastname; 
this.age=age 
} 

Создание объекта с помощью вашей функции конструктора

var Michael=new Person("Michael","Williams","23") 

Использование console.log, чтобы проверить ваши свойства объекта являются правильными

console.log(Michael.firstname) 
+1

Спасибо, человек, это отличное решение. –

Смежные вопросы