![](/img/trans.png)
[英]How do I pass a program name from php/html, as a variable to javascript rather than hard coding it in the ' $.get' statement
[英]When referring to a JSONObject in javascript, how do I refer to it using a variable (rather than the name itself)?
我为此查找了所有其他StackOverflow帖子,但似乎都没有用。 我将在下面发布我的代码:
$.getJSON('bugs.json', function (data) {
for ( var observer = 1; observer <= data.numObservers; observer++) {
var observerName = "num" + observer;
var specs = ['congestion', 'bloodflow'];
for ( var spec in specs) {
var tableCode = "<br><table id=\"" + observer + specs[spec] + "\" > <thead> <tr> <th>" + specs[spec] + "</th> <th id=\"value\">Value</th> <th id=\"time\">Time</th></tr>";
$('body').append(tableCode);
var observerObj = data[observerName] + " kaka " + data.num1.congestion.values[1];
var selectedSpec = specs[spec];
for (var i = 0; i < observerObj[selectedSpec].values.length; i++) {
tr = $('<tr/>');
tr.append ("<td> Name </td>");
tr.append("<td>" + data[observerName][spec].values[i] + "</td>");
tr.append("<td>" + data[observerName][spec].times[i] + "</td>");
$('#'+observer+spec).append(tr);
}
}
}
});
使用浏览器控制台日志时,出现一个错误,指示observerObj[selectedSpec]
不起作用。
在此先感谢您的帮助。
编辑 :确切的控制台错误是:
TypeError: observerObj[selectedSpec] is undefined
var observerObj = data[observerName] + " kaka " + data.num1.congestion.values[1];
如果我正确地阅读了此内容,则observerObj是一个字符串,而不是数组或对象。 因此,observerObj [selectedSpec]将不存在。
您试图将数组作为对象进行迭代。
var specs = ['congestion', 'bloodflow'];
for ( var spec in specs) {
这试图遍历specs
每个property
,而不是其中的每个对象。 你想做这样的事情...
var specs = ['congestion', 'bloodflow'];
for ( var i = 0; i < specs.length; i++) {
然后通过specs[i]
访问每个项目
希望这可以帮助!
关于for ... in
MDN文章也应该有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.