我有多个局部变量包含有关国家的信息。
let sweden = {
name: 'Sweden',
capacity: 120,
common: ['AX8', 'BLL', 'FAV38']
};
let france = {
name: 'France',
capacity: 560,
common: ['BA', 'BLL', 'EXON']
};
我需要随机选择一个国家并显示信息。怎么可能这样做?
谢谢!
答案 0 :(得分:5)
使用countries
对象,然后使用Object.values
检索所有国家/地区的数组,然后获取该数组的随机国家/地区。
const countries = {
sweden: {
name: 'Sweden',
capacity: 120,
common: ['AX8', 'BLL', 'FAV38']
},
france: {
name: 'France',
capacity: 560,
common: ['BA', 'BLL', 'EXON']
}
}
function getRandom(arr) {
return arr[Math.floor(Math.random() * arr.length)]
}
let randomCountry = getRandom(Object.values(countries));
console.log(`Random country: ${randomCountry.name}`);
console.log('Random country info', randomCountry);

如果您永远不会通过名称
countries
直接访问某个国家/地区,则 countries.sweden
可以直接成为数组,这样您就可以避免Object.values
const countries = [{/*..*/}];
let randomCountry = getRandom(countries);
答案 1 :(得分:-1)
使用以下内容:
sweden.common[Math.floor(Math.random()*sweden.common.length)]
france.common[Math.floor(Math.random()*france.common.length)]