Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm nạp các khóa JavaScript theo giá trị của chúng - JavaScript

Giả sử, chúng ta có một đối tượng như thế này -

const products = {
   "Pineapple":38,
   "Apple":110,
   "Pear":109
};

Tất cả các chìa khóa là duy nhất trong chính chúng và tất cả các giá trị là duy nhất trong chính chúng. Chúng tôi được yêu cầu viết một hàm chấp nhận một giá trị và trả về khóa của nó

Ví dụ:findKey (110) nên trả về -

"Apple"

Trước tiên, chúng ta sẽ tiếp cận vấn đề này bằng cách ánh xạ ngược các giá trị thành các khóa và sau đó chỉ cần sử dụng ký hiệu đối tượng để tìm giá trị của chúng.

Ví dụ

Sau đây là mã -

const products = {
   "Pineapple":38,
   "Apple":110,
   "Pear":109
};
const findKey = (obj, val) => {
   const res = {};
   Object.keys(obj).map(key => {
      res[obj[key]] = key;
   });
   // if the value is not present in the object
   // return false
   return res[val] || false;
};
console.log(findKey(products, 110));

Đầu ra

Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -

Apple