137 читали · 1 месяц назад
Язык JavaScript - Синтаксис "new Function"
Вы знаете несколько способов создать функцию. Function Declaration, Function Expression, стрелочные функции. Но есть ещё один. Тёмный. Мощный. Опасный. Встречайте конструктор Function. Он позволяет создавать функции из строк. Да, прямо из строк, которые могут быть сгенерированы динамически, прийти с сервера или быть введены пользователем. Это звучит как суперсила. И это действительно суперсила. Но с такой силой приходит не просто ответственность - приходит опасность. new Function - это дверь в мир eval-подобных проблем: уязвимости безопасности, проблемы с производительностью и нечитаемый код...
156 читали · 3 года назад
Пользовательская функция, вроде VLOOKUP, возвращающая все значения, а не одно
Функции типа VLOOKUP или INDEX(...;MATCH()) ищут только первое значение сверху списка. Но часто возникает необходимость подтянуть все значения по заданному параметру поиска. Для этого можно использовать пользовательскую функцию, написанную как-то на коленке. Function FindAll(LValue As String, SRng As Range, RRng As Range) For i = 1 To Workbooks(Sheets(SRng.Parent.Name).Parent.Name).Sheets(SRng.Parent.Name).UsedRange.Rows.count If SRng(i, 1) = LValue Then FindAll = FindAll & RRng(i, 1) & ";" Next...