สมมติว่าเรามีวัตถุของอาร์เรย์เช่นนี้ −
const obj = { 'key1': ['value11', 'value12', 'value13', 'value14', 'value15'], 'key2': ['value21', 'value22', 'value23', 'value24', 'value25', 'value26', 'value27'], 'key3': ['value31', 'value32', 'value33', 'value34'], 'key4': ['value41', 'value42'], };
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับวัตถุเช่นอาร์กิวเมนต์แรกและสตริงค่าเป็นอาร์กิวเมนต์ที่สอง ฟังก์ชันควรตรวจสอบว่าค่าอินพุตเป็นของคีย์ใด
for 'value13', the key will be 'key1' for 'value32', the key will be '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