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

ดึง user id จากอาร์เรย์อ็อบเจกต์ - JavaScript

สมมติว่าเรามีอาร์เรย์อ็อบเจกต์ที่ 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']