В PHP есть очень удобная функция Shuffle (), которая нарушает массивы. Эта функция используется во многих случаях, но массивы JavaScript не имеют этого метода. Это не имеет значения. Вы можете расширить один, сделать это самостоятельно и иметь достаточно еды и одежды.
Пожалуйста, обновите страницу, чтобы увидеть случайный эффект сортировки.
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
// <! [CDATA [
// Описание: добавить метод перетасовки в массив JavaScript
var shuffle = function (v) {
for (var j, x, i = v.length; i; j = parseint (math.random () * i), x = v [-i], v [i] = v [j], v [j] = x);
возврат V;
};
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
document.write ("a =", a.join (","), "<br /> shuffle (a) =", shuffle (a));
//]]>
</script>
Результат вывода:
Кода -копия выглядит следующим образом:
A = 0,1,2,3,4,5,6,7,8,9
Shuffle (a) = 1,5,0,9,2,3,6,8,4,7
A.shuffle () = 0,4,2,8,5,1,3,6,9,7
Добавьте метод в массив с помощью прототипа:
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
// <! [CDATA [
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
if (! array.prototype.shuffle) {
Array.prototype.shuffle = function () {
for (var j, x, i = this.length; i; j = parseint (math.random () * i), x = this [-i], это [i] = это [j], это [j] = x);
вернуть это;
};
}
document.write ("a =", a.join (","), "<br /> a.shuffle () =", a.shuffle ());
//]]>
</script>