Когда экземпляр java.util.Random
создается с определенным параметром начального числа (в данном случае -229985452
или -147909649
), он следует алгоритму генерации случайного числа , начинающемуся с этим начальным значением.
Каждый Random
, построенный с одним и тем же начальным числом, будет каждый раз генерировать одну и ту же последовательность чисел.
В Javascript его нет, как вы заметили.
Быстрый поиск дал:
function strcmp ( str1, str2 ) {
// http://kevin.vanzonneveld.net
// + original by: Waldo Malqui Silva
// + input by: Steve Hilder
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + revised by: gorthaur
// * example 1: strcmp( 'waldo', 'owald' );
// * returns 1: 1
// * example 2: strcmp( 'owald', 'waldo' );
// * returns 2: -1
return ( ( str1 == str2 ) ? 0 : ( ( str1 > str2 ) ? 1 : -1 ) );
}
из http://kevin.vanzonneveld.net/techblog / article / javascript_equivalent_for_phps_strcmp /
Конечно, вы можете просто добавить localeCompare, если необходимо:
if (typeof(String.prototype.localeCompare) === 'undefined') {
String.prototype.localeCompare = function(str, locale, options) {
return ((this == str) ? 0 : ((this > str) ? 1 : -1));
};
}
И везде использовать str1.localeCompare (str2)
, не беспокоясь о том, что локальный браузер поставляется с ним . Единственная проблема заключается в том, что вам придется добавить поддержку локалей
и опций
, если вам это интересно.