从生成的数字中选择变量

时间:2016-08-07 06:07:55

标签: javascript variables

使用javascript我有一些变量。

var item1 = {
    name : 'apple',
    color : 'red',
    type : 'fruit'
    //etc
};
var item2 = {
    name : 'rose',
    color : 'red',
    type : 'plant'
    //etc
};

我想根据数字选择所述项目。我想这样做。

var select;

function getRandomInt(min, max) {
   return Math.floor(Math.random() * (max - min + 1)) + min;
}

select = Math.floor(Math.random() * 2) + 1;

但是我在调​​用这些物品时遇到了麻烦。我认为它只是item[select].name等等。但是它显然没有发生。帮助

4 个答案:

答案 0 :(得分:0)

将您的物品放入数组:

items = [item1, item2];

接下来,使用getRandomInt()函数选择(打印出)随机项的名称:

console.log(items[getRandomInt(0,items.length - 1)].name);

答案 1 :(得分:0)

您应该将项目放在一个数组中,而不是使用多个变量:

var items = [
    {
        name: 'apple',
        // ...
    },
    {
        name: 'cherry',
        // ...
    }
];

// Pick a random item (slightly biased)
var item = items[Math.random() ℅ items.length];

答案 2 :(得分:0)

  • 将对象存储在数组中
  • 改进随机生成器。



## read in raw file lines using readLines()
lines1 <- readLines(textConnection('Name, Address, DOB\nJohn, Manhattan, New York, 2/8/1990\nJacob, Arizona, 9/10/2012\nSmith, New Jersey, 8/10/2016\n'));

## subset for lines with the expected number of commas
lines2 <- lines1[2L==sapply(lines1,function(s) nchar(s)-nchar(gsub(',','',s)))];

## result
lines1;
## [1] "Name, Address, DOB"
## [2] "John, Manhattan, New York, 2/8/1990"
## [3] "Jacob, Arizona, 9/10/2012"
## [4] "Smith, New Jersey, 8/10/2016"
## [5] ""
lines2;
## [1] "Name, Address, DOB"
## [2] "Jacob, Arizona, 9/10/2012"
## [3] "Smith, New Jersey, 8/10/2016"
&#13;
&#13;
&#13;

答案 3 :(得分:0)

将您的商品放入数组items,然后使用items[select].name

var item1 = {
    name : 'apple',
    color : 'red',
    type : 'fruit'
    //etc
};
var item2 = {
    name : 'rose',
    color : 'red',
    type : 'plant'
    //etc
};

var item = [item1, item2];
var select = "";

    function getRandomInt(min, max) {
      return Math.floor(Math.random() * (max - min + 1)) + min;
    }

    select = Math.floor(Math.random() * 2) ;

console.log(item[select].name);