Visitar URL original
جداسازی از طریق تابع

ما قصد داریم این پروژهٔ متن‌باز را در دسترس همهٔ مردم در سرتاسر دنیا قرار دهیم.

به ترجمهٔ محتوای این آموزش به زبان خودتان کمک کنید/a>.

بازگشت به درس

جداسازی از طریق تابع

اهمیت: 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])) – تنها المان‌هایی که با یکی از اعداد [1,2,3] برابر هستند را برگرداند.

برای مثال:

/* .. inArray و inBetween کد شما برای */
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

باز کردن یک sandbox همراه با تست‌ها.

Filter 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

Filter 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
function inArray(arr) {
  return x => arr.includes(x);
}

function inBetween(a, b) {
  return x => (x >= a && x <= b);
}

باز کردن راه‌حل همراه با تست‌ها درون یک sandbox.