var theSet = ["Carel Haverbeke", "Maria van Brussel",
"Donald Duck"];
function isInSet(set, person) {
return set.indexOf(person.name) > -1;
}
console.log(ancestry.filter(function(person) {
return isInSet(theSet, person);
}));
console.log(ancestry.filter(isInSet.bind(null, theSet)));
Первый console.log понятен. А второй который с bind... я сначала не понял почему никуда не передается person, он ведь по идее будет undefined. Ведь filter принимает функцию, аргумент которой равен каждому отдельно взятому элементу перебираемого массива. А тут просто theSet.
Я правильно понимаю, что при такой записи возвращается функция, но в ней уже заранее прописан первый аргумент theSet? То есть получается обычный фильтр filter(function (person){return set.indexOf(person.name) > -1;}), а аргумент set как бы в памяти, если так можно выразиться? Просто хочу убедиться, что понял как работает второй вариант вызова.
Да, Вы понимаете правильно.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind
fun.bind(thisArg[, arg1[, arg2[, ...]]])
arg1, arg2, ... - Arguments to prepend to arguments provided to the bound function when invoking the target function.
arg1, arg2, ... - параметры, которые будут переданы в функцию fun
, перед теми, которые
будут переданы в функцию, возвращаемую fun.bind
, кодом, который будет
эту функцию вызывать
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Условия самой задачиЕдинственное что у меня не получается, это сделать через одну строку крайний левый пробел
Здравствуйте! На данный момент изучаю ООП и столкнулся с непониманием фразы "отправка сообщения"
Подскажите пожалуйста как реализовать такой функционал, есть табличка (kartik gridview) с редактируемыми полями (editable) одно из полей - комментарий,...
Здравствуйте, есть такой скрипт и проблема происходит в том, что при выборе предыдущего варианта, он не заменяет тут значения, а добавляетПытался...