Показать сообщение отдельно
  #1 (permalink)  
Старый 12.04.2015, 12:20
Интересующийся
Отправить личное сообщение для Basil_JS Посмотреть профиль Найти все сообщения от Basil_JS
 
Регистрация: 04.09.2014
Сообщений: 12

Массив из элементов другого массива, взятых в случайном порядке
Здравствуйте, нужно создать массив, состояший из элементов другого массива, при этом
1)элементы не должны повторяться,
2)их количество должно быть равно количетству элементов в исх. массиве,
3)они д.б. расположены в случайном порядке
Отмечу, что мне нужны не сами элементы исходного массива в конечном массиве, а их порядковые номера, и чтобы именно они были случайны и не повторялись.
Как я делаю:

this.list = [];//Исходный массив, там у меня хранятся значения x1,x2,x3,x4
this.temp=[];//Конечный массив

for (var i = 1; i <= this.list.length; i++)
{
var rand = Math.floor(Math.random()*this.list.length);
var rrand = this.list.indexOf(this.list[rand]);
this.temp.push(rrand);
this.temp.sort();
}
//Проверка на повторения в конечном массиве
for (var i = this.temp.length; i > 0; i--)
{
if (this.temp[i] === this.temp[i-1])
{
this.temp.splice(i, 1);
}
}
В общем говоря, в конечном массиве у меня нет такого же количества элементов, что и в исходном.
Пожалуйста помогите решить эту проблему.
Ответить с цитированием