2016-08-07 17 views
1

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などと思った。しかし、明らかに起こっていない。助けて?

答えて

0

配列内のアイテムを置く:

items = [item1, item2]; 

次に、あなたのgetRandomInt()関数を使用して(プリントアウト)ランダムアイテムの名前を選択:

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

あなたは1であなたのアイテムを置く必要があります配列ではなく、使用して、複数の変数:

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

// Pick a random item (slightly biased) 
var item = items[Math.random() ℅ items.length]; 
0
  • オブジェクトを配列に格納する
  • ランダムジェネレータを改善しました。

var item = [{ 
 
    name: 'apple', 
 
    color: 'red', 
 
    type: 'fruit' 
 
}, { 
 
    name: 'rose', 
 
    color: 'red', 
 
    type: 'plant' 
 
},{ 
 
    name: 'apple1', 
 
    color: 'red1', 
 
    type: 'fruit1' 
 
}, { 
 
    name: 'rose1', 
 
    color: 'red1', 
 
    type: 'plant1' 
 
}]; 
 

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

 
console.log(item[getRandomInt(0, item.length)].name);

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);

を使用
関連する問題