Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как пермешать элементы массива??? (http://www.flasher.ru/forum/showthread.php?t=73010)

unclefucker 09.12.2005 22:30

как пермешать элементы массива???
 
как пермешать элементы массива в случайном порядке???

Nirth 09.12.2005 22:56

Код:

function move(target_array:Array,old:Number,new:Number):Object {
    var l:Number = target_array.length-1;
    var d:Number = 1-new;
    new = (d > l) ? l+new : ((d<0) ? l : new);
    var result:Object = (target_array[new] == undefined) ? null:target_array[new];
    target_array.splice(new,0,target_array.splice(old,1)[0]);
    return result;
}


iNils 10.12.2005 02:41

Можно еще так:
s = function (a, b) {
var r;
Math.floor (Math.random () * 2) == 0 ? r = 1 : r = -1;
return r;
};
///////////////////
arrayA = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
trace (arrayA);
arrayA.sort (s);
trace (arrayA);

unclefucker 13.12.2005 12:38

Да, спасибо! Всё получилось. Хотя, честно говоря, не очень понял, как это всё работает. Я про второй вариант.

__i 13.12.2005 13:02

про второй вариант - метод sort позволяет задавать свою функцию сравнения элементов, т.е. какой элемент больше ты вычисляешь по своим условиям

unclefucker 13.12.2005 21:18

Ну теперь всё разжевали!!!
Всем спасибо за внимание.


Часовой пояс GMT +4, время: 00:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.