الترشيح عبر دالة
نعلم بوجود التابِع arr.filter(f)
للمصفوفات. ووظيفته هي ترشيح كلّ العناصر عبر الدالة f
. لو أرجعت true
فيُعيد التابِع العنصر في المصفوفة الناتجة.
اصنع مجموعة مرشّحات «جاهزة لنستعملها مباشرة»:
inBetween(a, b)
– بينa
وb
بما فيه الطرفين (أي باحتسابa
وb
).inArray([...])
– في المصفوفة الممرّرة.
هكذا يكون استعمالها:
arr.filter(inBetween(3,6))
– تحدّد القيم بين 3 و6 فقط.arr.filter(inArray([1,2,3]))
– تحدّد العناصر المتطابقة مع أحد عناصر[1,2,3]
فقط.
مثال:
/* .. your code for inBetween and 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
1. المرشّح 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
2. المرشّح 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