如何通过添加for循环来重写搜索function以通过data.games并在我搜索时添加它来说明分数?
$(document).ready(function(){ var textsearch = "XYZ" $.ajax({ dataType: 'jsonp', //data in jsonp contentType: "application/json; charset=utf-8", url: 'http://live.nhle.com/GameData/RegularSeasonScoreboardv3.jsonp', jsonpCallback: 'loadScoreboard', success: function (data) { console.log(data); if(textsearch) { for (var key in data) { if(data[key].hasOwnProperty('htn') && data[key].hasOwnProperty('atn')) { if((data[key]['htn'].toLowerCase()).indexOf(datasearch.toLowerCase()) != -1 || (data[key]['atn'].toLowerCase()).indexOf(textsearch.toLowerCase())!=-1) times ++; } } } alert("Found " + textsearch + " " + times + " times");
—-如何重写搜索function(从if(文本搜索)向下)以使其循环通过data.games并同时记录分数。
http://jsfiddle.net/draditya91/548Az/1/
这是更新的小提琴
如果匹配并显示,只需搜索单词并获取分数
for (var key in text) { if(text[key].hasOwnProperty('htn') && text[key].hasOwnProperty('hts')) { if(text[key]['htn'].toLowerCase().indexOf(textsearch.toLowerCase()) != -1) str= text[key]['htn']+ " vs "+ text[key]['atn']+ " score : "+ text[key]['hts']+"-"+text[key]['ats']+"\n"; if( text[key]['atn'].toLowerCase().indexOf(textsearch.toLowerCase())!=-1) str += text[key]['atn'] + " vs "+ text[key]['htn']+ " score : "+ text[key]['ats']+"-"+text[key]['hts']; } } alert(str);
如果data.games是一个你可以做的数组
data.games.map(function(e){return e.score});
你会得到一系列分数。 如果你想要加起来所有的分数,你可以做…
data.games .map(function(e){return e.score}) .reduce(function(prev,current){return prev+current});
如果你想要球队和得分
data.games.map(function(game){ return{ team1: game.team1Name, team2: game.team2Name, score: game.score } });
这将为您提供一系列具有团队名称和分数属性的对象