Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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_Jquery - Fatal编程技术网

Javascript 组合JS对象并将其打印出来的最佳方法是什么?

Javascript 组合JS对象并将其打印出来的最佳方法是什么?,javascript,jquery,Javascript,Jquery,我试图将2JS对象:A和B存储在名为data的变量中 JS HTML 我只想把它们打印出来。 我试着用点符号来访问它们。 但目前还没有打印出来 0控制台中出现错误 我做错了什么 有什么提示/建议吗 如果需要,jQuery中提供了html()和text()等函数,但不是本机JavaScript。如果我从您的JSFIDLE中删除这些,我确实会得到输出。通过在JSFIDLE上打开Chrome开发工具并按run键,我很容易发现问题所在——控制台上记录了错误 以下是更新的JSFIDLE: 没有打

我试图将2JS对象:A和B存储在名为
data
的变量中


JS
HTML


我只想把它们打印出来。 我试着用点符号来访问它们。 但目前还没有打印出来

0控制台中出现错误

我做错了什么

有什么提示/建议吗

如果需要,jQuery中提供了
html()
text()
等函数,但不是本机JavaScript。如果我从您的JSFIDLE中删除这些,我确实会得到输出。通过在JSFIDLE上打开Chrome开发工具并按run键,我很容易发现问题所在——控制台上记录了错误

以下是更新的JSFIDLE:

没有打印匿名对象的标准方法。如果您有一个类并且正在创建该类的实例,则可以添加
toString
方法。一个问题是对象具有键和值,并且键没有顺序。您可以使用
Object.keys(myObject)
访问键,它将返回一个数组。然后您可以迭代数组并打印出键和值

以下是一个例子:

var span = document.getElementById('output');

var myObject = {
    a: 10,
    b: 'cat',
    c: 'San Francisco'
};

span.innerHTML = Object.keys(myObject).map(function(key) {
    return key + ': ' + myObject[key];
}).join(', ');
JSFiddle:

对我来说,在OSX上最新的Google Chrome上,它是按a、b、c的顺序打印的,但这个顺序不能保证,记住这一点很重要

如果您只需要一个可打印的对象,还可以使用
JSON.stringify
将该对象序列化为JSON。这将为上述示例对象提供如下输出:

'{"a":10,"b":"cat","c":"San Francisco"}'

参考资料:

我建议使用
elem.textContent

// example: dump entire object contents using JSON.stringify
print_a.textContent = JSON.stringify(data.A);
print_b.textContent = JSON.stringify(data.B);
单击下面的“运行代码段”以查看它是否正常工作

var数据={
“A”:{“section_num”:“2.2”,“习题集”:“相同”,“开始时间”:“7/20/2015 10:00 am”,“学生上午”:“9”,“到期时间”:“7/20/2015 11:00 am”,“提交”:“9”,“平均分数”:“71”,“危险”:“5”,“危险列表”:“5,10,15,19,23”,“警告”:“8”,“警告列表”:“3,7,11,13,14,16,21,22”,“成功”:“12”,“成功列表”:“1,2,4,6,8,9,12,18,25,18,18,18,18,18,18,18,18,18,18,18,18,18,18”,
“B”:{“section_num”:“2.3”,“习题集”:“不一样”,“开始时间”:“2015年6月19日下午1:00”,“学生上午”:“23”,“到期时间”:“2015年6月19日下午2:00”,“提交”:“7”,“平均分数”:“82”,“危险”:“10”,“危险列表”:“11,12,13,14,15,16,17,18,19,20”,“警告”:“10”,“警告列表”:“1,2,3,4,5,6,7,8,9,10”,“成功列表”:“5”,“成功列表”:“21,21,24,25”
};
var print_a=document.getElementById(“print_a”);
var print_b=document.getElementById(“print_b”);
打印a.textContent=data.a.start\u时间;
print_b.textContent=data.b.start_时间
div{
背景色:#fafafa;
填充:10px;
利润率:0.10px;
字体系列:monospace;
空白:预包装;
}


1)您的HTML格式不正确:
;2)
print\u a
变量是DOM元素,而
html
jQuery
object的方法。我不是故意的。你的
对象.keys(…)…
代码基本上是在做一个
JSON.stringify
。为什么要重新发明轮子?@Cymen:怎么会有一个结果是打印?只是好奇。@naomik,因为它正在按我希望的方式格式化对象——JSON.stringify当然只会将其格式化为JSON。如果你真的把它输出给别人阅读,它会给你灵活性。@Cymen我跟着你。A+@开发人员 抢手货innerHTML上有一个输入错误——它有一个额外的“n”。我修复了它并更新了链接:我只想打印某个对象而不是全部?你能告诉我怎么做吗@开发人员 我已经更新了代码片段。重新运行它,查看它现在只从每个对象输出
start\u time
字段。如果这对你很重要的话,要注意一些事情。
'{"a":10,"b":"cat","c":"San Francisco"}'
// example: dump entire object contents using JSON.stringify
print_a.textContent = JSON.stringify(data.A);
print_b.textContent = JSON.stringify(data.B);