alert()Javascript中多个数组中的多个值

时间:2015-06-23 00:51:13

标签: javascript

我有一个顾客的对象;以及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); 

3 个答案:

答案 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); 

这种方法冗长且无需维护(任何时候客户对象更改,您都需要调整此代码),但您可以完全控制订单和格式。