我有一个顾客的对象;以及customers数组中该对象的多个实例:
这是更好的图片:
customers[0].first_name = "anna";
customers[0].last_name = "dan";
customers[0].email = "anna@example.com";
customers[0].credit_card = "222.324.123"
这些阵列中有几个具有不同的信息:客户[1],客户[2]等。
我需要提醒一切,所以看起来像这样:
-----------------------------------------------------
| Customers that have signed up: |
| |
| anna dan anna@example.com 222.324.123 |
| contents of customer[1] |
| contents of customer[2] |
| contents of customer[3] |
| contents of customer[4] |
| and so on ... |
|----------------------------------------------------
我不需要提醒你看到的边框,我只是画了一些来表示警告框应该如何格式化。
这是我尝试做的不起作用:
for (i = 0; i < customers.length; i++) {
if (customer[i].hasSignedUp(query) == true) {
R_fname[i] = customers[i].f_name;
R_lname[i] = customers[i].l_name;
R_email[i] = customers[i].email;
R_credit[i] = customers[i].credit_card;
}
}
var fin_str;
for (i = 0; i < R_fname.length; i++) {
fin_str += (R_fname[i] + " " + R_lname[i] + " " + R_email[i] + " " + R_credit[i] + " \n");
}
alert("Customer that have signed up " + "\n" + fin_str);
答案 0 :(得分:2)
你有一些问题,我已将它们修改为
var R_fname = [],
R_lname = [],
R_email = [],
R_credit = [];
for (i = 0; i < customers.length; i++) {
if (customer[i].hasSignedUp(query) == true) {
R_fname.push(customers[i].f_name);
R_lname.push(customers[i].l_name);
R_email.push(customers[i].email);
R_credit.push(customers[i].credit_card)
}
}
var fin_str = "";
for (i = 0; i < R_fname.length; i++) {
fin_str += (R_fname[i] + " " + R_lname[i] + " " + R_email[i] + " " + R_credit[i] + " \n");
}
alert("Customer that have signed up " + "\n" + fin_str);
基本上我所做的是将那些R_
变量定义为空数组。使用.push()
以便新元素结束并且不跳过任何索引,并将fin_str
定义为空字符串,以便字符串连接正常工作。
正如其他人所提到的那样,日志记录应该使用console.log
来完成,它可以处理许多不同的格式,包括非常好的直接对象/数组。
答案 1 :(得分:1)
警报不适合打印出数组的值。 Console.log可以更有效地工作。
答案 2 :(得分:0)
我看到你创建了中间数组R_fname,R_lname等,这是不必要的,可能会令人困惑。您可以直接使用customers数组:
var fin_str="";
for (i = 0; i < customers.length; i++) {
fin_str += (customers[i].first_name + " " + customers[i].last_name + " " +customers[i].email + " " + customers[i].credit_card + "\n");
}
alert("Customer that have signed up " + "\n" + fin_str);
这种方法冗长且无需维护(任何时候客户对象更改,您都需要调整此代码),但您可以完全控制订单和格式。