使用javascript获取随机变量

时间:2018-04-07 16:15:12

标签: javascript variables random scope

我有多个局部变量包含有关国家的信息。

let sweden = {
  name: 'Sweden',
  capacity: 120,
  common: ['AX8', 'BLL', 'FAV38']
};
let france = {
  name: 'France',
  capacity: 560,
  common: ['BA', 'BLL', 'EXON']
};

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

谢谢!

2 个答案:

答案 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)]