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

Ánh xạ ngược một đối tượng trong JavaScript

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

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

Bản thân tất cả các chìa khóa là duy nhất và tất cả các giá trị cũng là duy nhất.

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ó. Giả sử chúng ta đã tạo một hàm findKey ().

Ví dụ:findKey (110) phải 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.

Do đó, hãy viết mã cho chức năng này -

Ví dụ

Mã cho điều này sẽ là -

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

Đầu ra trong bảng điều khiển sẽ là -

Apple