JSFiddle - React, Tailwind, and code Playground

by Imran Zahoor

JavaScript

// Method for searching
function findInJson(jsonData, findSeed, getFullObject = false) {
  let ret = null;
  for (let key in jsonData) {
    for (let key2 in jsonData[key]) {
      let awayHomeData = jsonData[key][key2];
      if (Array.isArray(awayHomeData)) {
        for (let key3 in awayHomeData) {
          if (
            awayHomeData[key3].hasOwnProperty("away") ||
            awayHomeData[key3].hasOwnProperty("home")
          ) {
            let homeOrAway = awayHomeData[key3];
            let homeSeed = homeOrAway.home.seed;
            let awaySeed = homeOrAway.away.seed;

            if (findSeed == awaySeed) {
              ret = homeOrAway.away;
            } else if (findSeed == homeSeed) {
              ret = homeOrAway.home;
            }
          }
        }
      }
    }
  }

  if (ret !== null) {
    ret = getFullObject ? ret : ret.franchise_id;
  }

  return ret;
}

// JSON Data
let data = {
  version: "1.0",
  playoffBracket: {
    bracket_id: "1",
    playoffRound: [
      {
        week: "14",
        playoffGame: [
          {
            game_id: "1",
            away: {
              franchise_id: "0002",
              points: "137.2",
              seed: "3",
            },
            home: {
              franchise_id: "0008",
              points: "111.7",
              seed: "6",
            },
          },
          {
            game_id: "2",
            away: {
              franchise_id: "0006",
              points: "134.2",
              seed: "4",
            },
            home: {
              franchise_id: "0011",
              points: "130.5",
              seed: "5",
            },
          },
        ],
      },
      {
        week: "15",
        playoffGame: [
          {
            game_id: "3",
            away: {
              franchise_id: "0006",
              points: "153.3",
              winner_of_game: "2",
            },
            home: {
              franchise_id: "0010",
              points:...