2015-04-22 3 views

ответ

0

Чтобы получить два уникальных элемента из массива, и если вы не возражаете против изменения исходного массива, вы можете использовать splice(), чтобы удалить выбранный элемент из массива, чтобы он не был выбран, когда вы запустите его второй время:

var firstRandomChoice = array.splice(Math.floor(Math.random()*array.length), 1); 
var secondRandomChoice = array.splice(Math.floor(Math.random()*array.length), 1); 

Если вы используете утилиту библиотеки, такие как lodash, вы, возможно, уже есть функции, доступной, чтобы сделать это для вас. Например, lodash предоставляет sample(). Поэтому, если вы используете lodash, вы можете просто сделать что-то вроде этого, чтобы получить массив из двух случайных элементов:

var results = _.sample(array, 2); 
+0

Я пробовал "var results = _.sample (array, 2);" Но я не могу случайным 2 объекта. Выбирает только один объект – sally

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