به دلیل اختلال در پنل، مشاهده جلسات موقتاً فقط از طریق صفحه محصول و بخش سرفصل‌ها امکان‌پذیر است.
پرسش

چطوری یک کلید در آبجکت جاوااسکریپت رو با توجه به مقدارش پیدا کنیم؟

How to get a key in a JavaScript object by its value

من یک آبجکت ساده جاوااسکریپت دارم که ازش به عنوان یک آرایه استفاده می‌کنم.

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

1403/06/05
پاسخ
محمدامین سعیدی راد توسعه دهنده استک MERN
بیوگرافی محمدامین سعیدی راد

برای پیدا کردن یک کلید بر اساس مقدارش تو یک آبجکت جاوااسکریپتی ، بهترین و ساده‌ترین روش استفاده از متد find به همراه Object.keys هست. این روش آبجکت رو پیمایش می‌کنه و اولین کلیدی که مقدارش با مقدار مورد نظر شما مطابقت داره رو برمی‌گردون:

function getKeyByValue(object, value) {
return Object.keys(object).find(key => object[key] === value);
}
const map = { first: "1", second: "2", third: "3" };
const key = getKeyByValue(map, "2");
console.log(key); // "second"

این روش ساده، تمیز و قابل فهمه. همچنین در صورتی که آبجکت دارای مقادیر تکراری هست و بخواید همه کلیدهایی که با مقدار تطابق دارن رو دریافت کنید، می‌توانید به جای find از filter استفاده کنید:

function getKeysByValue(object, value) {
return Object.keys(object).filter(key => object[key] === value);
}
const keys = getKeysByValue(map, "2");
console.log(keys); // خروجی: ["second"]

این روش‌ها هم به خوبی کار می‌کنند و هم قابلیت گسترش برای موارد پیچیده‌تر رو دارند.

 

پاسخ: 1403/06/05
آخرین آپدیت: 1403/08/05