以下是我目前拥有的:
let userTeams = ['Liverpool', 'Manchester City', 'Manchester United'];
let object = {
teams: {
'Liverpool': {
player:
['Salah',
'Nunez']
},
'Manchester United': {
player:
['Ronaldo',
'Rashford']
},
'Manchester City': {
player:
['Haaland',
'Foden']
},
},
};
let userTeam = userTeams[Math.floor(Math.random() * 3)];
我需要直接从对象中随机选择团队,而不是从userTeams数组中选择。
我该怎么做?
我猜OP的真正目的是在对象中获得一个随机的团队名称(密钥(和该团队的数据(值(。抽象地说,只需几个步骤:
以下是如何从数组中获取随机元素:
const randomElement = array => array[Math.floor(Math.random()*array.length)];
它可以用来从一个对象中获得一个随机密钥:
const randomKey = object => randomElement(Object.keys(object));
这可以用来获得一个随机键值对:
const randomKeyValue = object => {
const key = randomKey(object);
return { [key] : object[key] };
};
总之:
let object = {
teams: {
'Liverpool': {
player:
['Salah',
'Nunez']
},
'Manchester United': {
player:
['Ronaldo',
'Rashford']
},
'Manchester City': {
player:
['Haaland',
'Foden']
},
},
};
const randomElement = array => array[Math.floor(Math.random() * array.length)];
const randomKey = object => randomElement(Object.keys(object));
const randomKeyValue = object => {
const key = randomKey(object);
return {
[key]: object[key]
};
};
console.log(randomKeyValue(object.teams))
您可以在数组上使用随机,该数组是object.teams
的键(或值(
let object = {
teams: {
'Liverpool': {
player: ['Salah',
'Nunez'
]
},
'Manchester United': {
player: ['Ronaldo',
'Rashford'
]
},
'Manchester City': {
player: ['Haaland',
'Foden'
]
},
},
};
var teams = Object.values(object.teams);
let userTeam = teams[Math.floor(Math.random() * teams.length)];
console.log(userTeam);