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'] и это будет работать.

Другие вопросы по тегам