[英]How would I loop through JSON and then sort a response by the key?
例如,我想遍历以下JSON,然后仅推送home_team_conference(如果它具有Southeastern字符串)。 我希望能够按home_team_conference进行排序,以便可以在网站的单独页面上使用每个数组。 现在,我正在遍历整个JSON文档,但它返回了所有这些文档,我想防止这种情况的发生。 我已经搜索了该网站和其他网站,但似乎找不到解决方案。 有任何想法吗?
{
id: "771",
api_id: "08183e9c-8abe-43a0-871e-b07a53a399f0",
status: "scheduled",
scheduled: "2017-11-22 12:00:00",
conference_game: false,
game_time_date: "2017-11-22",
game_time_hour: "12:00pm",
home_team: "Volunteers",
away_team: "Boilermakers",
venue: "Imperial Arena",
broadcast_network: "ESPN2",
broadcast_internet: "WatchESPN",
home_team_conference: "Southeastern",
away_team_conference: "Big Ten",
home_team_division: "NCAA Division I",
away_team_division: "NCAA Division I",
total_points_bet: 0
},
{
id: "772",
api_id: "342d431c-bcf0-4214-a868-40ebaae75feb",
status: "scheduled",
scheduled: "2017-11-22 13:00:00",
conference_game: false,
game_time_date: "2017-11-22",
game_time_hour: "1:00pm",
home_team: "Pioneers",
away_team: "Mariners",
venue: "William H. Pitt Center",
broadcast_network: "",
broadcast_internet: "",
home_team_conference: "Northeast",
away_team_conference: "New England Collegiate Conference",
home_team_division: "NCAA Division I",
away_team_division: "NCAA Division III",
total_points_bet: 0
},
现在,我正在这样做以遍历:
var test = [];
// This gets the game JSON and returns it so you can use it below.
function getGames(){
return $.getJSON('https://--------------.--------.com/dbdata/gameday/division');
}
getGames().done(function(results){
$.each(results, function (i, gameData){
$.each(gameData, function(key, game){
test.push(game);
var gameId = game.id;
var homeTeam = game.home_team;
var awayTeam = game.away_team;
var pointTotal = game.total_points_bet;
var gameTime = game.game_time_hour;
var gameDate = game.game_time_date;
var network = game.broadcast_network;
据我了解,您是否想从其中home_team_conference = "Southeastern"
的数组中home_team_conference = "Southeastern"
项目列表
这将为您提供球队列表,其中home_team_conference = "Southeastern"
let southeastern = teamArray.filter((team) => team.home_team_conference == "Southeastern")
console.log(southeastern)
我不确定您想要的排序功能是什么,因为home_team_conference
所有项目在该列表中都相同。 如果对整个列表进行排序,则可以执行以下操作:
// Change "home_team_conference" to something else to sort by that
teamArray.sort((a,b) => {
if (a.home_team_conference < b.home_team_conference) { return -1; }
if (a.home_team_conference > b.home_team_conference) { return 1; }
// names must be equal
return 0;
})
console.log(teamArray)
如果需要不区分大小写的搜索,请使用.toLowerCase()
将两个比较均转换为小写
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.