У меня есть массив, такие как:Удалить случайные объекты из массива
array=['a','b','c','d','e','f'];
Я хочу, чтобы удалить случайные 2 элемента. Как я могу это сделать?
У меня есть массив, такие как:Удалить случайные объекты из массива
array=['a','b','c','d','e','f'];
Я хочу, чтобы удалить случайные 2 элемента. Как я могу это сделать?
Чтобы получить два уникальных элемента из массива, и если вы не возражаете против изменения исходного массива, вы можете использовать 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);
Я пробовал "var results = _.sample (array, 2);" Но я не могу случайным 2 объекта. Выбирает только один объект – sally
без повторений? –