使用javascript获取随机变量

Joh*_*han 0 javascript random variables scope

我有多个局部变量包含有关countrires的信息.

let sweden = {
  name: 'Sweden',
  capacity: 120,
  common: ['AX8', 'BLL', 'FAV38']
};
let france = {
  name: 'France',
  capacity: 560,
  common: ['BA', 'BLL', 'EXON']
};
Run Code Online (Sandbox Code Playgroud)

我需要随机选择一个国家并显示信息.怎么可能这样呢?

谢谢!

Mar*_*nde 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);
Run Code Online (Sandbox Code Playgroud)

countries如果您永远不会通过它的名字直接访问国家,则可以直接使用数组:countries.sweden这样您就可以避免Object.values

const countries = [{/*..*/}];

let randomCountry = getRandom(countries);
Run Code Online (Sandbox Code Playgroud)