足球结果的最佳变量类型是什么?



>我想建立一个预测足球结果的程序。现在我想知道,将足球结果存储在变量中的最佳方法是什么。 我想到了几个不同的选择,但可能还有其他选择:

  1. 在字符串中,例如"2:1">
  2. 在数组中,例如 [2, 1]
  3. 在一个对象中,例如{主场球队:2,客队:1}

我不必迭代结果,我只需要以简单的方式读取值。

我目前正在使用javascript。我听说 ES6 中有新类型的数组,如地图和集合,但我还没有读过它们。使用这些数组类型更好吗? 您认为哪个是最好的,或者还有其他更好的方法吗?

如果您使用数组,则顺序是有保证的,但您需要知道它的顺序 -[away, home][home, away]。出于这个原因,使用对象更容易,你也可以相当简单地确定输赢 - 你可以使用 JSON 将数据发送到其他区域:

const result = { home: 2, away: 1 };
console.log(`The home team scores ${result.home}`);
console.log(`The away team scored ${result.away}`);
const winner = result.home > result.away ? "Home" : (result.away > result.home ? "Away" : "Draw");
console.log(winner == "Draw" ? `It was a draw!` : `The winner is the ${winner} team`);

如果您能提供更多您想要实现的目标的背景信息,那就太好了。 正如您提到的,您不会迭代结果,那么当字符串或数组的长度增加时,您将如何获得值?如果总是有两个值只有"2:1", [2,1], {homeTeam: 2, awayTeam: 1}那么你喜欢如何获得这些值是你个人的偏好,时间复杂度总是 O(1)。例如,您可以从字符串const strToArr = "2:1".split(':'); strToArr[0]strToArr[1]、数组const arr = [2,1]; arr[0]arr[1]或对象cont obj = {homeTeam: 2, awayTeam: 1}; obj.homeTeamobj.awayTeam中获取值...当然,您也可以使用Map :const map = new Map(); map.set('homeTeam', 2); map.set('awayTeam', 1); map.get('homeTeam'); map.get('awayTeam');For Set请记住,它存储唯一值,除非您正确处理它可能不是一个好的选择

最新更新