ФилÑÑÑаÑÐ¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑнкÑии
важноÑÑÑ: 5
У Ð½Ð°Ñ ÐµÑÑÑ Ð²ÑÑÑоеннÑй меÑод arr.filter(f) Ð´Ð»Ñ Ð¼Ð°ÑÑивов. Ðн ÑилÑÑÑÑÐµÑ Ð²Ñе ÑлеменÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑнкÑии f. ÐÑли она возвÑаÑÐ°ÐµÑ true, Ñо ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑÑ Ð² возвÑаÑаемÑй маÑÑив.
СделайÑе Ð½Ð°Ð±Ð¾Ñ Â«Ð³Ð¾ÑовÑÑ Ðº ÑпоÑÑеблениÑ» ÑилÑÑÑов:
inBetween(a, b)â междÑaиb(вклÑÑиÑелÑно).inArray([...])â Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² данном маÑÑиве.
Ðни Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑÑÑ Ñаким обÑазом:
arr.filter(inBetween(3,6))â вÑбиÑÐ°ÐµÑ ÑолÑко знаÑÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ 3 и 6 (вклÑÑиÑелÑно).arr.filter(inArray([1,2,3]))â вÑбиÑÐ°ÐµÑ ÑолÑко ÑлеменÑÑ, ÑовпадаÑÑие Ñ Ð¾Ð´Ð½Ð¸Ð¼ из ÑлеменÑов маÑÑива
ÐапÑимеÑ:
/* .. Ð²Ð°Ñ ÐºÐ¾Ð´ Ð´Ð»Ñ inBetween и inArray */
let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(inBetween(3, 6)) ); // 3,4,5,6
alert( arr.filter(inArray([1, 2, 10])) ); // 1,2
ÐÑкÑÑÑÑ Ð¿ÐµÑоÑниÑÑ Ñ ÑеÑÑами Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ñи.
ФилÑÑÑ inBetween
function inBetween(a, b) {
return function(x) {
return x >= a && x <= b;
};
}
let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(inBetween(3, 6)) ); // 3,4,5,6
ФилÑÑÑ inArray
function inArray(arr) {
return function(x) {
return arr.includes(x);
};
}
let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(inArray([1, 2, 10])) ); // 1,2
ÐÑкÑÑÑÑ ÑеÑение Ñ ÑеÑÑами в пеÑоÑниÑе.