我为此查找了所有其他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]将不存在。

08-18 00:29