如何获得关联的数组元素和名称。 JS

时间:2019-01-05 02:15:12

标签: javascript arrays

问题:尝试使用循环从关联数组中获取某些元素。该循环是我将经历的多次。该关联数组与数组键相关联。例如:{eid0:{...},eid1:{...}}

这是使用DOM更新JS的页面,而没有刷新。我已经查看了StackOverflow和其他一些站点。我看过书。我似乎无法弄清楚。

function display_oddsbet(id) {
var ds = document.getElementById("ds");

var tr = document.createElement("tr");
var td = document.createElement("td");
var tr0 = document.createElement("tr");
var tr1 = document.createElement("tr");
var tbl = document.createElement("table");
var tdsp = document.createElement("td");
var tdlg = document.createElement("td");
var tdloc = document.createElement("td");
var tda = document.createElement("td");
var tdh = document.createElement("td");
var tdsd = document.createElement("td");
var i;
var cnt= 0;
for (var s in id) {
    var v = id[s];
    for (var t in v) {
        var k = v[t];
    //  for (var f in k) {
            var ed = "eid" + cnt;
            var i = v[ed];
            cnt++;

            console.log(i);
            tr.classList = "eid" + cnt;

            var a = i.awayteam_name;
            var h = i['hometeam_name'];
            var sd = i['startdate'];
            var sport = i['sport_name'];
            var league = i['league_name'];
            var loc = i['location_name'];
            tdsp.innerHTML = sport;
            tdlg.innerHTML = league;
            tdloc.innerHTML = loc;
            tr0.appendChild(tdsp);
            tr0.appendChild(tdloc);
            tr0.appendChild(tdlg);
            tbl.appendChild(tr0);
            tda.innerHTML = a;
            tdh.innerHTML = h;
            tdsd.innerHTML = sd;
            tr1.appendChild(tdsd);
            tr1.appendChild(tda);
            tr1.appendChild(tdh);
            tbl.appendChild(tr1);
            tr.appendChild(tbl);
            // left
            if (i['oddsbet'] == "1") {
                td.innerHTML = "1";
                td.style = "oddsbet";
                tr.appendChild(td);
            }
        // 2 is on right
            if (i['oddsbet'] == "2") {
                td.innerHTML = "2";
                td.classList = "oddsbet";
                tr.appendChild(td);
            }
            // middle
            else {
                td.innerHTML = i['oddsbet'];
                td.classList = "oddsbet";
                tr.appendChild(td);
            }
            ds.appendChild(tr);
    //  }
    }
}
return;
}

我什么也没做。我需要获取i ['awayteam_name'];其余的则来自API。

1 个答案:

答案 0 :(得分:0)

永远不要忘记。垃圾在垃圾里..

function display_oddsbet(id) {
var ds = document.getElementById("ds");

var tr = document.createElement("tr");
var td = document.createElement("td");
var tr0 = document.createElement("tr");
var tr1 = document.createElement("tr");
var tbl = document.createElement("table");
var tdsp = document.createElement("td");
var tdlg = document.createElement("td");
var tdloc = document.createElement("td");
var tda = document.createElement("td");
var tdh = document.createElement("td");
var tdsd = document.createElement("td");
Object.keys(id).forEach(function(key, index) {
    var j = this[key];
    Object.keys(j).forEach(function(key, index) {
        //console.log(this[index]);

            var ed = "eid" + cnt;
            //var i = v[ed];
            cnt++;

            console.log(j[key]);
            tr.classList = "eid" + cnt;

            var a = j[key].awayteam_name;
            var h = j[key]['hometeam_name'];
            var sd = j[key]['startdate'];
            var sport = j[key]['sport_name'];
            var league = j[key]['league_name'];
            var loc = j[key]['location_name'];
            tdsp.innerHTML = sport;
            tdlg.innerHTML = league;
            tdloc.innerHTML = loc;
            tr0.appendChild(tdsp);
            tr0.appendChild(tdloc);
            tr0.appendChild(tdlg);
            tbl.appendChild(tr0);
            tda.innerHTML = a;
            tdh.innerHTML = h;
            tdsd.innerHTML = sd;
            tr1.appendChild(tdsd);
            tr1.appendChild(tda);
            tr1.appendChild(tdh);
            tbl.appendChild(tr1);
            tr.appendChild(tbl);
            // left
            if (j[key].oddsbet == "1") {
                td.innerHTML = "1";
                td.style = "oddsbet";
                tr.appendChild(td);
            }
        // 2 is on right
            if (j[key].oddsbet == "2") {
                td.innerHTML = "2";
                td.classList = "oddsbet";
                tr.appendChild(td);
            }
            // middle
            else {
                td.innerHTML = j[key].oddsbet;
                td.classList = "oddsbet";
                tr.appendChild(td);
            }
            ds.appendChild(tr);
    //  }
    }, j);
}, id);
return;

}