آرایه/از نسخه
1.38.0keyBy
یک آرایه از آبجکتها را به آبجکتی تبدیل میکند که کلیدهای آن بر اساس مقدار یک 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·مستندات رسمی