如何通过添加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 } }); 

这将为您提供一系列具有团队名称和分数属性的对象