Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การค้นหาคีย์จากค่าในออบเจกต์ของอาร์เรย์ด้วย JavaScript

มีออบเจกต์ที่แต่ละคีย์แมปกับอาร์เรย์ของค่า ต้องเขียนฟังก์ชันรับออบเจกต์และค่าที่ต้องการค้นหา แล้วคืนคีย์ที่มีค่านั้นอยู่ในอาร์เรย์ของมัน

ตัวอย่าง: ค่า 'value13' อยู่ใน 'key1', ค่า 'value32' อยู่ใน 'key3'

ตัวอย่างโค้ด

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'));

ผลลัพธ์

ค่าที่แสดงในคอนโซลจะเป็นดังนี้:

key3