Giả sử chúng ta có một đối tượng như sau:
const products = {
"Pineapple":38,
"Apple":110,
"Pear":109
};Tất cả các key đều duy nhất và tất cả các value cũng duy nhất. Chúng ta cần viết một hàm nhận vào một giá trị và trả về key tương ứng.
Ví dụ: findKey(110) nên trả về:
"Apple"
Chúng ta sẽ tiếp cận bằng cách đảo ngược mapping giá trị thành key, sau đó dùng ký pháp đối tượng để tìm giá trị.
Ví dụ
Dưới đây là đoạn code:
const products = {
"Pineapple":38,
"Apple":110,
"Pear":109
};
const findKey = (obj, val) => {
const res = {};
Object.keys(obj).map(key => {
res[obj[key]] = key;
});
// nếu giá trị không có trong object
// trả về false
return res[val] || false;
};
console.log(findKey(products, 110));Kết quả
Đoạn code sẽ in ra console:
Apple