สมมติว่าเรามีอาร์เรย์อ็อบเจกต์ที่ map ชื่อผู้ใช้กับ id:
const arr = [
{"4": "Rahul"},
{"7": "Vikram"},
{"6": "Rahul"},
{"3": "Aakash"},
{"5": "Vikram"}
];ชื่อเดียวกันอาจมีหลาย id แต id เดียวกันไม่ได้ map ชื่อต่างกัน
เราต้องเขียนฟังก์ชันที่รับอาร์เรย์นี้และชื่อ (string) คืนค่าอาร์เรย์ของ id ทั้งหมดที่ map กับชื่อนั้น
ตัวอย่าง
โค้ดต่อไปนี้เป็นตัวอย่าง:
const arr = [
{"4": "Rahul"},
{"7": "Vikram"},
{"6": "Rahul"},
{"3": "Aakash"},
{"5": "Vikram"}
];
const name = 'Vikram';
const findUserId = (arr, name) => {
const res = [];
for(let i = 0; i < arr.length; i++){
const key = Object.keys(arr[i])[0];
if(arr[i][key] !== name){
continue;
};
res.push(key);
};
return res;
};
console.log(findUserId(arr, name));ผลลัพธ์
จะแสดงผลในคอนโซลดังนี้:
['7', '5']