آرایه/از نسخه
1.38.0partition
یک آرایه را بر اساس نتیجه یک تابع شرطی به دو آرایه تقسیم میکند.
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·مستندات رسمی