javascript:
function array_rand ( input, num_req ) {
// Выбирает одно или несколько случайных значений из массива
//
// + original by: _argos
var Indexes = [];
var Ticks = num_req || 1;
var Check = {
Duplicate : function ( input, value ) {
var Exist = false, Index = 0;
while ( Index < input.length ) {
if ( input [ Index ] === value ) {
Exist = true;
break;
}
Index++;
}
return Exist;
}
};
if ( input instanceof Array && Ticks <= input.length ) {
while ( true ) {
var Rand = Math.floor ( ( Math.random ( ) * input.length ) );
if ( Indexes.length === Ticks ) { break; }
if ( !Check.Duplicate ( Indexes, Rand ) ) { Indexes.push ( Rand ); }
}
} else {
Indexes = null;
}
return ( ( Ticks == 1 ) ? Indexes.join ( ) : Indexes );
}
//Примеры:
alert ( array_rand( [1,2,3], 2 ) );