#JavaScript
Как выявить есть ли арифметическая или геометрическая прогрессия в массиве?
Арифметическая, например:
Как выявить есть ли арифметическая или геометрическая прогрессия в массиве?
Арифметическая, например:
const isArithmeticProgression = arr =>Геометрическая проверяется аналогично.
arr.length > 1
? new Set(arr.map((n, i, a) => n - a[i + 1]).slice(0, -1)).size === 1
: !!arr.length;
// или
const isArithmeticProgression = arr =>
!!arr.length && arr.every((n, i, a) => !i || (n - a[i - 1] === a[1] - a[0]));
Смерть Tampermonkey🪦. Inline скрипты победили
Сегодня рассмотрим, почему инжекция с помощью Tampermonkey не эффективна и как страница может выполнить свои скрипты быстрее с последующей нейтрализацией Tampermonkey.
#Tampermonkey #JS #JavaScript #Injection #WebDev #TiProger #WebApp #БиполярноАффективныйРеактор #BAReactor
http://vk.com/tiproger
http://yangx.top/tuproger
Сегодня рассмотрим, почему инжекция с помощью Tampermonkey не эффективна и как страница может выполнить свои скрипты быстрее с последующей нейтрализацией Tampermonkey.
#Tampermonkey #JS #JavaScript #Injection #WebDev #TiProger #WebApp #БиполярноАффективныйРеактор #BAReactor
http://vk.com/tiproger
http://yangx.top/tuproger
YouTube
Смерть Tampermonkey🪦. Inline скрипты победили
Сегодня рассмотрим, почему инжекция с помощью Tampermonkey не эффективна и как страница может выполнить свои скрипты быстрее с последующей нейтрализацией Tampermonkey.
Эффективные способы инжекции (или месть за Tampermonkey) доступен моим подписчикам на…
Эффективные способы инжекции (или месть за Tampermonkey) доступен моим подписчикам на…
❤1✍1👍1
🟢 У нас выражение на JavaScript. Начало переводится так: «Возьми букву b, соедини с буквой a, дальше…»
А дальше интересно. Смотрите на два плюсика в середине. Первый плюсик означает «сложи» или «соедини» — то же самое, что самый первый плюс в этом выражении.
А второй плюс — это унарный оператор, он преобразовывает следующую за ним строку в число. Следующая за ним строка — буква «a», это не число. Унарный оператор возвращает значение NaN — Not a Number, то есть «ожидал, что будет число, а это не число».
Получается baNaN.
Потом к этому добавляется ещё одна «a» по тому же принципу, что в начале. Получается baNaNa.
Дальше эту строку преобразовывают в нижний регистр с помощью .toLowerCase () и получается banana.
Подвох был в унарном операторе. То, что это именно он, со стороны не очевидно, потому что для нас это просто плюс. Но JavaScript смотрит на место этого плюса и понимает, что имелось в виду преобразование в число.
#JS #JavaScript #ITHumour #Программирование #ЛикБез #Разработка #Юмор #БиполярноАффективныйРеактор #BAReactor #bartgbot
vk.com/bareactor
t.me/bareactor
А дальше интересно. Смотрите на два плюсика в середине. Первый плюсик означает «сложи» или «соедини» — то же самое, что самый первый плюс в этом выражении.
А второй плюс — это унарный оператор, он преобразовывает следующую за ним строку в число. Следующая за ним строка — буква «a», это не число. Унарный оператор возвращает значение NaN — Not a Number, то есть «ожидал, что будет число, а это не число».
Получается baNaN.
Потом к этому добавляется ещё одна «a» по тому же принципу, что в начале. Получается baNaNa.
Дальше эту строку преобразовывают в нижний регистр с помощью .toLowerCase () и получается banana.
Подвох был в унарном операторе. То, что это именно он, со стороны не очевидно, потому что для нас это просто плюс. Но JavaScript смотрит на место этого плюса и понимает, что имелось в виду преобразование в число.
#JS #JavaScript #ITHumour #Программирование #ЛикБез #Разработка #Юмор #БиполярноАффективныйРеактор #BAReactor #bartgbot
vk.com/bareactor
t.me/bareactor
✍1👍1🔥1