2016-08-07 7 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

Вы должны положить свои вещи в одном массив, а не с помощью нескольких переменных:

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

Смежные вопросы