CyrefJS
CCyrefJS
EN
بازگشت به مستندات
آرایه/از نسخه 1.38.0

partition

یک آرایه را بر اساس نتیجه یک تابع شرطی به دو آرایه تقسیم می‌کند.

partition(array, predicate):[T[], T[]]

پارامترها

arrayT[]الزامی

آرایه‌ای که عناصر آن باید به دو گروه تقسیم شوند.

predicate(item: T) => booleanالزامی

تابعی که مشخص می‌کند هر عنصر در کدام گروه قرار بگیرد. عناصری که مقدار true برمی‌گردانند در آرایه اول و عناصری که false برمی‌گردانند در آرایه دوم قرار می‌گیرند.

مقدار بازگشتی

[T[], T[]]

یک tuple شامل دو آرایه؛ آرایه اول شامل عناصری است که predicate برای آن‌ها true برگردانده و آرایه دوم شامل عناصری است که predicate برای آن‌ها false برگردانده است.

مثال‌ها

01

استفاده پایه

اعداد را به دو گروه زوج و فرد تقسیم می‌کند.

TypeScript
import { partition } from "@cyref/js";

const numbers = [1, 2, 3, 4, 5, 6];

const [even, odd] = partition(
  numbers,
  (item) => item % 2 === 0,
);

console.log(even);
// [2, 4, 6]

console.log(odd);
// [1, 3, 5]
02

تقسیم آبجکت‌ها

آبجکت‌ها را بر اساس یک property یا شرط مشخص تقسیم می‌کند.

TypeScript
import { partition } from "@cyref/js";

const users = [
  { name: "Amir", active: true },
  { name: "Sara", active: false },
  { name: "Reza", active: true },
];

const [activeUsers, inactiveUsers] = partition(
  users,
  (user) => user.active,
);

console.log(activeUsers);
// [
//   { name: "Amir", active: true },
//   { name: "Reza", active: true },
// ]

console.log(inactiveUsers);
// [
//   { name: "Sara", active: false },
// ]
03

وقتی predicate مقدار false برمی‌گرداند

عناصری که شرط predicate را برآورده نمی‌کنند در آرایه دوم قرار می‌گیرند.

TypeScript
import { partition } from "@cyref/js";

const numbers = [1, 2, 3, 4];

const result = partition(
  numbers,
  (item) => item > 10,
);

console.log(result);
// [[], [1, 2, 3, 4]]
04

آرایه خالی

یک آرایه خالی، دو آرایه خالی ایجاد می‌کند.

TypeScript
import { partition } from "@cyref/js";

const result = partition(
  [],
  (item) => item > 0,
);

console.log(result);
// [[], []]
ساخته شده با@cyref/js·مستندات رسمی