我想构建一个预测足球成绩的程序。现在我想知道,最好的方法是将足球结果存储在一个变量中。 我想到了几种不同的选择,但可能还有其他选择:
我不必遍历结果,只需要简单地读取值即可。
我当前正在使用javascript。我听说ES6中有新类型的数组,例如Maps和Sets,但我还没有读懂它们。使用这些数组类型更好吗? 您认为哪一个最好,或者还有其他更好的方法?
答案 0 :(得分:3)
如果使用数组,则可以保证顺序,但是您需要知道其顺序-[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`);
答案 1 :(得分:0)
如果您可以提供您想要实现的目标的更多背景信息,那就太好了。
正如您提到的那样,您不会迭代结果,那么当字符串或数组的长度增加时如何获取值?如果始终只有两个值"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.homeTeam
和obj.awayTeam
获取值。 ..当然,您也可以使用Map:const map = new Map(); map.set('homeTeam', 2); map.set('awayTeam', 1); map.get('homeTeam'); map.get('awayTeam');
对于Set,请记住,它存储唯一值,除非您正确处理它,否则不是一个好选择