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

Nhận khóa từ giá trị trong JavaScript

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

const obj = {
   'key1': ['value11', 'value12', 'value13', 'value14', 'value15'],
   'key2': ['value21', 'value22', 'value23', 'value24', 'value25',
   'value26', 'value27'],
   'key3': ['value31', 'value32', 'value33', 'value34'],
   'key4': ['value41', 'value42'],
};

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một đối tượng như vậy làm đối số đầu tiên và một chuỗi giá trị làm đối số thứ hai. Sau đó, hàm sẽ kiểm tra xem giá trị đầu vào thuộc về khóa nào.

for 'value13', the key will be 'key1'
for 'value32', the key will be 'key3'

Ví dụ

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

const obj = {
   'key1': ['value11', 'value12', 'value13', 'value14', 'value15'],
   'key2': ['value21', 'value22', 'value23', 'value24', 'value25',
   'value26', 'value27'],
   'key3': ['value31', 'value32', 'value33', 'value34'],
   'key4': ['value41', 'value42'],
};
const searchByValue = (obj, val) => {
   for (let key in obj) {
      if (obj[key].indexOf(val) !== -1) {
         return key;
      };
   };
   return null;
};
console.log(searchByValue(obj, 'value32'));

Đầu ra

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

key3