Задать вопрос
  • Какой самый быстрый способ итерации массива в JS?

    @dimoff66
    Кратко о себе: Я есть
    Вроде бы понятно, что префиксы(--i, ++i) быстрее постфиксов(i--, i++)


    В циклах никакой сколь либо ощутимой разницы, если вы проводили действительно тесты, они не могли этого не показать.

    Когда-то и где-то читал, что лучший пробег - это с конца до начала, используя конструкцию:

    for(let i = array.length - 1; i >= 0; --i)


    И что, ваши тесты это подтвердили? Похоже на полную чушь. Какая разница языку отнимать единицу или складывать?

    По факту самый быстрый конечно
    for(let i = 0; i < array.length; ++i) let value = array[i]


    for... of медленнее процентов на 30

    forEach медленнее в разы

    Точные цифры зависят от реализации в конкретных браузерах и меняются в процессе их развития.

    И это совершенно не значит, что везде нужно использовать самый быстрый вариант. Только на суперогромных массивах разница будет реально ощутима.

    И есть выражение: "Преждевременная оптимизация - зло". Сначала напишите код, а потом если какие-то его части работают заметно медленно, тогда приступайте к оптимизации. То чем вы занимаетесь - это забивание головы второстепенными вещами.
    Ответ написан
    4 комментария
  • Экранирование специальных символов внутри регулярного выражения для javascript?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Для регекспа генерируемого из строки можно делать так:
    strRegexp = strRegexp.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
    Ответ написан
    Комментировать