dmitriymar,
Для примера могу привести реализацию String.prototype.repeat из ES6 |
String.prototype.repeat = function(count)
{
if ((count |= 0 ) <= 0)
throw new RangeError();
var result = [];
while (count--)
result.push(this);
return result.join('');
};
var start = +new Date;
'foo'.repeat(1000000);
alert(+new Date-start);
String.prototype.repeat = function(count)
{
if ((count |= 0 ) <= 0)
throw new RangeError();
var result = '';
while (count--)
result += this;
return result;
};
var start = +new Date;
'foo'.repeat(1000000);
alert(+new Date-start);
String.prototype.repeat = function(count)
{
if ((count |= 0 ) <= 0)
throw new RangeError();
var result = '';
while (count--)
result.concat(this);
return result;
};
var start = +new Date;
'foo'.repeat(1000000);
alert(+new Date-start);
String.prototype.repeat = function(count)
{
if ((count |= 0 ) <= 0)
throw new RangeError();
return Array(count + 1).join(this);
};
var start = +new Date;
'foo'.repeat(1000000);
alert(+new Date-start);
String.prototype.repeat = function(count)
{
if ((count |= 0 ) <= 0)
throw new RangeError();
var result = '',
self = this;
while (count)
{
if (count & 1)
result += self;
if (count >>= 1)
self += self;
}
return result;
};
var start = +new Date;
'foo'.repeat(1000000);
alert(+new Date-start);
Тесты |
но опять всё упрётся как движок будет обрабатывать конструкции типа self+= self; будет создавать временные строки и т.д. может в новых браузерах будет быстрее создать массив , да сделать ему join.. х.з....
результат последнего впечатлил:)
String.prototype.repeat = function(count)
{
if ((count |= 0 ) <= 0)
throw new RangeError();
var result = [1000000];
while (count--) result[count]=this;
return result.join('');
};
var start = +new Date;
'foo'.repeat(1000000);
alert(+new Date-start);
лёгким жестом алгоритм работает в 5 раз дольше :) эт -к тому что пока не знаем скорость работы операторов 6 го,возможно это сильно скорректирует алгоритмы... Создание нативной функции заполнения массива одинаковыми значениями может изменить расстановку приоритетов |
подкиньте инвайт на хабр :) хочу коммент там написать )
|
nerv_, помог бы так кармы не хватает((
П.с могу передать, но с учетом если моя карма не умрет полностью)) |
nerv_,
Там сейчас элементарно зарегацо, и в песочню кинуть интересную тему, про тоже сss или вариант разбора пары задач на регулярку, (если карму поднимут типично с первой статьи достаточно поднятия кармы на пару единиц для полноценной реги..) я по-моему писал про спойлер на сss Но бываю редко - карма мала, карма для инфайта от 100 |
может кому-то и элементарно, но я через песочницу только с третьей попытки попал, благодаря интересу сообщества к ноде.жс
|
Цитата:
|
Не карма, надо чтобы твой пост (статья) набрал 100 плюсов. Тогда дают инвайт, т.е. ты можешь его кому-то подарить.
Если написать в песочницу, тогда может кто и подарит (очень часто раздают админы под видом НЛО, если статья на актуальную тематику (обычно это то, что связано с веб-разработкой)), заодно эта же статья из песочницы может набрать сразу 100 плюсов и теперь уже ты можешь подарить кому-то инвайт. Как-то так. |
Цитата:
зарегился я там давненько, но рид-онли сняли только вот в июле, за статью по ноде. до этого была попытка в апреле, и еще до этого - в конце прошлого года. |
| Часовой пояс GMT +3, время: 20:09. |