Эта статья будет посвящена ситуациям из JavaScript, которые ведут себя странно. Мы рассмотрим несколько примеров с неожиданным результатом и постараемся понять — что же там происходит! [‘2′,’5′,’9’].map(parseInt) Рассмотрим первый пример: Такой результат мы ожидаем: Вот что мы получаем на самом деле: На первый взгляд это может показаться странным, но у этого есть простое объяснение: достаточно разобраться как работают две задействованные функции map & parseInt. map() map() вызывает callback функцию для каждого элемента массива. Теперь callback функция получит некоторые конкретные параметры, давайте рассмотрим их: Как видно, функция обратного вызова передавала не только значение элемента массива, но так же его индекс и полную копию массива для каждой итерации и это и повлияло на наш неожиданный результат — каким образом? Давайте рассмотрим детальнее функцию parseInt() parseInt() parseInt() преобразует стоковый аргумент и возвращает целое число в соответствии с указанным основанием сис