【问题标题】:Display all data in array javascript显示数组javascript中的所有数据
【发布时间】:2017-12-25 19:40:48
【问题描述】:

我需要显示如下数据:{"Ram":"1GB","Color":"BLACK"} 如果我使用:

alert(main.newProduct.Specification =  ("{\""+main.specifications[0].key+"\":\""+main.specifications[0].value+"\",\""+main.specifications[1].key+"\":\""+main.specifications[1].value+"\"}"));

没关系,但如果我改成这个

    var i;
    for(i=0;i<main.specifications.length;i++){
        alert(main.newProduct.Specification =  ("{\""+main.specifications[i].key+"\":\""+main.specifications[i].value+"\"}"));
    }

它一一显示。我只想显示一个警报,可以吗? 抱歉,我是 js 新手。

【问题讨论】:

  • 在循环中准备警报消息值,然后显示单个alert
  • 你从哪里得到main.specifications?你迭代所有字符,如果值是一个字符串,就像我想的那样。

标签: javascript arrays for-loop arraylist


【解决方案1】:

试试JSON.stringify

JSON.stringify( main.specification )

【讨论】:

  • 它看起来不错,都存储在里面,但它应该是定制的。欢呼@helloheffhall
  • 干杯!你想到了什么样的定制?如果您希望数据看起来更好一点,您可以传递一个参数来添加间距,例如 JSON.stringify( main.specification, null, 2 )
【解决方案2】:

简单地加入可能更容易:

var string="{"+main.specifications.map({key,value}=>key+":"+value).join()+"}";

然后你可以警告:

alert(string);

或在页面上显示:

document.body.innerHTML=string;

或将其添加到您的新产品中:

newProduct.specification=string;

【讨论】:

  • 警报仅用于测试,我想将 main.newProduct.Specification 设置为数组的值。但如果我使用 for 循环,它只填充最后一个数组.. 怎么能?
猜你喜欢
  • 1970-01-01
  • 2020-01-29
  • 1970-01-01
  • 2016-02-12
  • 2020-08-22
  • 1970-01-01
  • 2022-01-03
  • 2019-03-06
  • 2016-09-08
相关资源
最近更新 更多