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

keyBy

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

keyBy(array, key):Record<string, T>

پارامترها

arrayT[]الزامی

آرایه‌ای از آبجکت‌ها که باید به یک آبجکت کلیدگذاری‌شده تبدیل شود.

keyKالزامی

کلید property که مقدار آن به‌عنوان کلید در آبجکت خروجی استفاده می‌شود.

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

Record<string, T>

یک آبجکت که هر کلید آن از مقدار property مشخص‌شده ساخته شده و به عنصر متناظر آرایه اشاره می‌کند.

مثال‌ها

01

استفاده پایه

یک آبجکت بر اساس مقدار id هر آیتم ایجاد می‌کند.

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

const users = [
  { id: "1", name: "Amir" },
  { id: "2", name: "Sara" },
  { id: "3", name: "Reza" },
];

const result = keyBy(users, "id");

console.log(result);
// {
//   "1": { id: "1", name: "Amir" },
//   "2": { id: "2", name: "Sara" },
//   "3": { id: "3", name: "Reza" },
// }
02

استفاده از property دیگر

کلید می‌تواند هر property موجود در نوع آبجکت باشد.

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

const products = [
  { sku: "LP-01", name: "Laptop" },
  { sku: "PH-01", name: "Phone" },
  { sku: "TB-01", name: "Tablet" },
];

const result = keyBy(products, "sku");

console.log(result);
// {
//   "LP-01": { sku: "LP-01", name: "Laptop" },
//   "PH-01": { sku: "PH-01", name: "Phone" },
//   "TB-01": { sku: "TB-01", name: "Tablet" },
// }
03

کلیدهای تکراری

اگر چند عنصر مقدار یکسانی برای کلید داشته باشند، عنصر بعدی جایگزین عنصر قبلی می‌شود.

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

const users = [
  { id: "1", name: "Amir" },
  { id: "2", name: "Sara" },
  { id: "1", name: "Reza" },
];

const result = keyBy(users, "id");

console.log(result);
// {
//   "1": { id: "1", name: "Reza" },
//   "2": { id: "2", name: "Sara" },
// }
04

آرایه خالی

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

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

const result = keyBy([], "id");

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