23.03.2012, 21:47
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от 9xakep
|
Мне сейчас надо их отсрочивать так, что бы они не повторялись
|
var array = [], count = 33, i = -1;
while(++i < count) {
array.push(Math.random() * count | 0);
}
array.sort(function(a, b) {
return a-b;
});
i = array.length;
while (i--) {
if (array[i] == array[i-1])
array.splice(i, 1);
}
alert( array.join( '\n' ) );
Сообщение от 9xakep
|
Зачем писать: 33 | 0?
|
Эта операция транзитивна Math.floor();
|
|
23.03.2012, 22:06
|
|
сегодня в 12:34|Комментир
|
|
Регистрация: 12.04.2011
Сообщений: 1,180
|
|
monolithed,
Да хватит писать мне решения
Тем более у вас какая то не случайность получается О_о Почти все последовательное...А начало как посл. фибоначи:11235..Но все равно интересный способ
__________________
оляля, ололо
|
|
23.03.2012, 22:15
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от 9xakep
|
Да хватит писать мне решения
|
А для чего нужно было создавать тему?
Сообщение от 9xakep
|
А начало как посл. фибоначи
|
Значения рандомны
Сообщение от 9xakep
|
Тем более у вас какая то не случайность получается О_о Почти все последовательное..
|
Так я отсортировал массив, а потом удалил дубликаты.
|
|
23.03.2012, 22:19
|
|
сегодня в 12:34|Комментир
|
|
Регистрация: 12.04.2011
Сообщений: 1,180
|
|
Сообщение от monolithed
|
А для чего нужно было создавать тему?
|
ну создавал я как бы по-другому впоросу, вы меня спросили что мне надо сделать, я ответил
Сообщение от monolithed
|
Так я отсортировал массив, а потом удалил дубликаты.
|
Если уж на то пошло, это не то
__________________
оляля, ололо
|
|
23.03.2012, 22:36
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от monolithed
|
nerv_, не 9xakep хотел так:
|
я просто сразу не понял
9xakep, вся проблема в том, что Вы не можете сформулировать задачу)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
23.03.2012, 22:46
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от 9xakep
|
Если уж на то пошло, это не то
|
Сообщение от 9xakep
|
На данный момент мне нужно сгенерировать 33 числа случайных числа, которые будут представлять из себя массив
|
Сделано
Сообщение от 9xakep
|
Мне сейчас надо их отсрочивать так, что бы они не повторялись
|
Сделано
Если не нужна сортровка по возрастанию, то можно так:
var array = [1, 3, 1, 10, 1, 3, 4, 7, 30], i = array.length, result = [];
while(i--) {
if(result.indexOf(array[i]) == -1)
result.push(array[i]);
}
alert(result);
PS: только, нужно позаботится о наличии indexOf или не заморачиваться и сделать так:
result.join().search(array[i]+'\\b') == -1
Последний раз редактировалось monolithed, 23.03.2012 в 22:49.
|
|
24.03.2012, 00:37
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
|
|
24.03.2012, 08:43
|
|
сегодня в 12:34|Комментир
|
|
Регистрация: 12.04.2011
Сообщений: 1,180
|
|
monolithed,
рони,
nerv_,
Thanks...но у меня свой вариант появляется
__________________
оляля, ололо
|
|
24.03.2012, 12:46
|
|
сегодня в 12:34|Комментир
|
|
Регистрация: 12.04.2011
Сообщений: 1,180
|
|
Maxmaxmахimus,
Так как, я:" неумелые прогарммисты, неряхи, или новички " то я в принципе не понял что ты сказал
__________________
оляля, ололо
|
|
24.03.2012, 13:11
|
|
сегодня в 12:34|Комментир
|
|
Регистрация: 12.04.2011
Сообщений: 1,180
|
|
<script>
var let = [1,2,3,4,1,5]
alert(let)
for(k=0;k<=let.length;k++) {
console.log('k: '+let[k])
for(j=0;j<let.length;j++) {
if(k==j) j+=1;
if(let[k]==let[j]) {
let[k] = Math.random() * 6 | 0
} else {
continue;
}
}
}
alert(let)
</script>
Та идея что пришла в голову почти осуществилась...но есть некоторые изъяны..Пока он только находит и заменяет повторяющееся число, но не факт что в результате повторения не будет..
Например:
[1,2,3,4,1,5]
[2,0,3,4,1,5] // заменил первую цифру на 2, проверил, что 2 уже есть, и заменил ее на 0
Но:
[1,2,3,4,1,5]
[4,2,3,4,1,5] // что в роде такого получилось как-то...4 все равно осталась
__________________
оляля, ололо
Последний раз редактировалось 9xakep, 24.03.2012 в 13:15.
|
|
|
|