Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS:将对象放入数组_Javascript_Arrays_Object_Jsobject - Fatal编程技术网

Javascript JS:将对象放入数组

Javascript JS:将对象放入数组,javascript,arrays,object,jsobject,Javascript,Arrays,Object,Jsobject,我正在尝试创建名为client的对象。并将其放入数组中。然后,读第一个客户的名字 例如: client1 {nom : "marco", prenom : "chedel", adresseMail : "ssss@ggg.com"}; 并将该客户端放入一个类似于bellow的数组中 listClients[client1] 我所做的: var listClients = []; var client1 = {nom : "chedel",prenom:"Marco",adresseMail

我正在尝试创建名为client的对象。并将其放入数组中。然后,读第一个客户的名字

例如:

client1 {nom : "marco", prenom : "chedel", adresseMail : "ssss@ggg.com"};
并将该客户端放入一个类似于bellow的数组中

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);
var listClients=[];
var client1={nom:“chedel”,prenom:“Marco”,adresseMail:“marco@gmail.com"};
listClients.push(client1);
var client2={nom:“De Almeida”,prenom:“Jorge”,地址:jorge@gmail.com"};
listClients.push(client2);
功能客户端(表){

对于(i=0;i),有两种方法可以访问对象的属性:

obj.prop
obj['prop']
您正在进行以下混合,但不起作用:
obj[prop]


将代码固定到
c.adresseMail
c['adresseMail']
,它就会工作。

您将
adresseMail
视为变量,而不是字符串:

document.write(c['adresseMail']);
使用


使用字符串引用它:

document.write(c['adresseMail']);
或使用点符号:

document.write(c.adresseMail);

是的,应该避免使用
document.write

第一:不要使用
document.write
。第二:您有语法错误。尝试
c.addresseMail
而不是
c[addresseMail]
问题是
adresseMail
周围没有字符串分隔符,即可以使用
c[“adresseMail”]
。下面是一个使用jQuery为每个邮件地址创建列表项的小把戏。(在示例中,我使用点表示法)我强烈建议使用console.log查看内容,使用Chrome DevTools进行调试,而不是使用document.write,它将为您提供更多有助于解决此类问题的信息:)@NickHusher,我在使用document.write,因为我的教授就是这么说的。我可以用什么来代替呢?thx!
document.write有很多陷阱,是一种危险的语言特性,需要依赖。相反,你可以使用直接DOM操纵;(jsbin)