Лучшим более ранним ответом является ответ sje397
. Вы получите как можно более хорошие случайные числа, как можно быстрее.
Мое решение очень похоже на его решение. Однако иногда вам нужны случайные числа в случайном порядке, и именно поэтому я решил опубликовать ответ. Кроме того, я предоставляю общую функцию.
function selectKOutOfN(k, n) {
if (k>n) throw "k>n";
var selection = [];
var sorted = [];
for (var i = 0; i < k; i++) {
var rand = Math.floor(Math.random()*(n - i));
for (var j = 0; j < i; j++) {
if (sorted[j]<=rand)
rand++;
else
break;
}
selection.push(rand);
sorted.splice(j, 0, rand);
}
return selection;
}
alert(selectKOutOfN(8, 100));
Можно ли разъяснить то, что Вы подразумеваете под "вещью" привязки Windows с Silverlight? Это работает на Windows и MacIntel и векторных частях, выполненных очень хорошо на Linux с плагином При луне.
Вы были отброшены отсутствием поддержки Amiga?
Смотрите на библиотека Raphael Javascript . Это - первые годы, но это выглядит очень перспективным.
я помню дорожную карту IE, которая имела поддержку SVG, перечисленную в IE7.2.
Зависит от того, как интерактивный Вы хотите его?
Взгляните на новое Холст элемент, который был реализован во многих браузерах. Я слышал также, что существует элемент управления ActiveX для IE, который реализует элемент Холста также.
Обновление: Ожидайте, Вы уже сказали это. Я должен считать целый вопрос в следующий раз!:)
Walter Zorn имеет библиотека JavaScript для произвольной векторной графики. Это выглядит достойным.
Пойдите для SVG - и просто скажите пользователям вкладывать разъем ADOBE SVG для IE.
Обращаются на этот превосходный сайт - который является британским Правительственным сайтом (услуги общего пользования)
IE поддерживает VML, но ничто иное не делает и это ужасно. Microsoft утверждала, что они отбросили ее (с новым XAML и всеми), но это - все еще часть их Office формат XML (это - как Excel .xlsx поддерживает комментарии, достаточно странно).
FX и загрузки больше поддержки новый элемент Холста. Многие поддерживают SVG, но, учитывая работу MS делает на Silverlight, я не вижу, что IE поддерживает SVG в ближайшее время.
Microsoft, как предполагается, обеспечивает, Silverlight включают ins ни для каких операционных систем MS.
я использовал Flex - это довольно хорошо несмотря на использование Eclipse. Вы не должны покупать чрезвычайно дорогие серверные компоненты Adobe для использования Flex - он может использовать сервисы SOAP.
dev инструменты для Flex довольно доступны, и почти у всех есть Flash.
Из всех возможностей Вы перечисляете, единственная, это не ужасное злоупотребление существующей технологией (JavaScript), едва поддерживаемый (SVG, элемент Холста), или большая работа (Java) является Flash. Это было разработано как пакет векторной графики и совместимо с большим количеством браузеров, чем SVG и тег Canvas.
единственная причина я не предпочел бы Flash всем другим опциям, то, если Вы стремитесь к мобильным браузерам или не имеете бюджета для пакета Flash.
Я не думаю, что SVG является хорошим выбором для будущего. От Википедия :
Safari, Opera и Firefox вся поддержка SVG исходно (например, без плагинов) в различных степенях полноты и правильности, включая способность написать сценарий svg из JavaScript.
существует также элемент холста, который теперь стандартизируется в html5 и уже поддерживается в вышеупомянутых браузерах также (с различными причудами в определенных пограничных случаях из-за относительно недавних изменений в проекте html5).
, К сожалению, любой основанный на стандартах подход отчасти уничтожается преднамеренным игнорированием IE того, что происходит вне его собственной экосистемы, однако существует много библиотек, которые пытаются преобразовать canvas/svg в VML (собственный векторный язык IE) такой как iecanvas.
[Редактирование: возгласы, я забыл свою любимую js библиотеку - Пирог ! который может проанализировать и отобразить svg в холсте и верить IE поддержек также]
[Еще одно редактирование: Пирог на самом деле имеет демонстрация выполнение, что я думаю, что Вы хотите сделать]