【发布时间】:2015-02-22 19:34:24
【问题描述】:
我正在尝试使用以下 json 文件按种子顺序创建一个简单的 NBA 西部领袖显示:
http://data.nba.com/data/v2014/json/mobile_teams/nba/2014/00_standings.json
现在我有以下内容:
$(document).ready(function() {
$.getJSON('http://data.nba.com/data/v2014/json/mobile_teams/nba/2014/00_standings.json',function(info){
var eastHead = info.sta.co[0].val;
var divi = info.sta.co[0].di[0].val;
/*evaluate East*/
for(i=0;i < divi.length;i++){
var visTeam ='<li>' + divi + '</li>';
document.getElementById("eastHead").innerHTML=eastHead;
}
var seed = info.sta.co[0].di[0].t[0].see;
$.each(menuItems.data, function (i) {
var eastSeed ='<li>' + seed + '</li>';
console.log(eastSeed)
document.getElementById("eastSeed").innerHTML=eastSeed;
});//$.each(menuItems.data, function (i) {
});//getJSON
});//ready
我只想按顺序列出领导者。所以现在我们有
- 金州勇士队
2. 孟菲斯队
3. 休斯顿队
4. 波特兰队
5. 洛杉矶快船队
6. 达拉斯队
.... 等等 第四次。
这是基于“see”值,即西方的种子。
这个问题是我得到一个值而不是迭代。
更新:
$(document).ready(function() {
$.getJSON('http://data.nba.com/data/v2014/json/mobile_teams/nba/2014/00_standings.json',function(info){
/**************************************************/
//Get info above here
var westDivision = info.sta.co[1].di;
westDivision.forEach(function (subdivision)
{
subdivision.t.forEach(function (team)
{
westTeams.push({
city: team.tc,
name: team.tn,
seed: team.see
});
});
});
function compare(a,b) {
if (a.see < b.see)
return -1;
if (a.see > b.see)
return 1;
return 0;
}
var sorted = westTeams.sort(compare);
sorted.forEach(function (el,i)
{
console.log(i+'. '+el.city+' '+el.name);
});
/**************************************************/
});//getJSON
});//ready
控制台输出:
- 波特兰开拓者队
- 俄克拉荷马城雷霆队
- 丹佛掘金队
- 犹他爵士队
- 明尼苏达森林狼队
- 金州勇士队
- 洛杉矶快船队
- 凤凰太阳队
- 萨克拉门托国王队
- 洛杉矶湖人队
- 孟菲斯灰熊队
- 休斯顿火箭队
- 达拉斯小牛队
- 圣安东尼奥马刺队
- 新奥尔良鹈鹕队
【问题讨论】:
-
我很好奇。你如何使用 Ajax 从他们的服务器中检索 NBA 统计数据?这对我不起作用(同源政策),我怀疑它对你有用。您的代码示例肯定行不通。
标签: javascript jquery json