JS: объекты в массив
Я пытаюсь создать объект с именем клиента. и положить его в массив. И после этого прочитайте имя 1-го клиента.
Пример:
client1 {nom : "marco", prenom : "chedel", adresseMail : "ssss@ggg.com"};
и поместите этого клиента в массив, как показано ниже.
listClients[client1]
что я сделал:
var listClients = [];
var client1 = {nom : "chedel",prenom:"Marco",adresseMail:"marco@gmail.com"};
listClients.push(client1);
var client2 = {nom : "De Almeida",prenom:"Jorge",adresseMail:"jorge@gmail.com"};
listClients.push(client2);
function afficheClients(tableau){
for (i=0;i<tableau.length;i++)
{
var c = tableau[i];
document.write(c[adresseMail]);
// This ^^ doesn't work, it says :adresseMail isn't definied in c
}
}
afficheClients(listClients);
3 ответа
Решение
Ты лечишь adressMail
как переменная, а не как строка:
использование
document.write(c["adresseMail"]);
Либо ссылаться на него, используя строку:
document.write(c['adresseMail']);
или используя точечную запись:
document.write(c.adresseMail);
И да - document.write
необходимо избегать.
Есть два способа получить доступ к свойствам объекта:
obj.prop
obj['prop']
Вы делаете следующую смесь, которая не работает: obj[prop]
,
Исправьте ваш код c.adresseMail
или же c['adresseMail']
и это будет работать.