【问题标题】:JavaScript ouput of an array with multiple values shows the words "object, object" [duplicate]具有多个值的数组的 JavaScript 输出显示单词“对象,对象”[重复]
【发布时间】:2020-06-20 03:48:42
【问题描述】:
var dynastyReign = [ 
{"San Dynasty": "MXLI"},
{"Viloria Dynasty": "MCCCIIII"},
{"Tan Dynasty": "MCCCXCVIII"},  
{"Bon Dynasty": "MCDXLV"},   
{"Maiko Dynasty": "MDCLXIV"}, 
{"Paul Dynasty": "MCMXLIX"},
{"Andre Dynasty": "MMMXICX"}
];

document.write(dynastyReign.toString());

我尝试使用 toString 输出这个数组,每个数组都有两个值,但输出只给了我[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

如何停止显示对象词,如果可能的话,我还希望只显示罗马数字部分,删除“王朝”。

【问题讨论】:

  • 编写一个循环,以您想要的方式打印每个对象。
  • 最简单的方法可能是使用“JSON.stringify”。其他操作可以通过原始数据的转换来完成。
  • 此问题已在此处得到解答:stackoverflow.com/questions/4750225/…。您需要将对象转换为字符串。

标签: javascript


【解决方案1】:

var dynastyReign = [ 
{"San Dynasty": "MXLI"},
{"Viloria Dynasty": "MCCCIIII"},
{"Tan Dynasty": "MCCCXCVIII"},  
{"Bon Dynasty": "MCDXLV"},   
{"Maiko Dynasty": "MDCLXIV"}, 
{"Paul Dynasty": "MCMXLIX"},
{"Andre Dynasty": "MMMXICX"}
];

//document.write(dynastyReign.toString());

document.write(JSON.stringify(dynastyReign).replace(/Dynasty/g,''));

console.log(JSON.stringify(dynastyReign).split('Dynasty').join(''))

【讨论】:

    【解决方案2】:

    使用dynastyReign.map(reign => Object.values(reign)[0]).join(', ');

    【讨论】:

      【解决方案3】:

      试试这个:

      var dynastyReign = [ 
        {"San Dynasty": "MXLI"},
        {"Viloria Dynasty": "MCCCIIII"},
        {"Tan Dynasty": "MCCCXCVIII"},  
        {"Bon Dynasty": "MCDXLV"},   
        {"Maiko Dynasty": "MDCLXIV"}, 
        {"Paul Dynasty": "MCMXLIX"},
        {"Andre Dynasty": "MMMXICX"}
      ];
      
      var text = dynastyReign.map(d => Object.values(d)[0])
      document.write(text);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-14
        • 2014-05-26
        • 2021-02-15
        • 2020-11-17
        • 1970-01-01
        • 2019-07-04
        相关资源
        最近更新 更多