繁体   English   中英

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

[英]How to get associative array elements and names. JS

问题:尝试通过使用循环从关联数组中获取某些元素。 该循环是我将经历的多次。 该关联数组与数组键相关联。 例如:{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。

永远不要忘记。 垃圾进垃圾出..

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;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM