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

ตรวจสอบว่าอ็อบเจกต์มี key ทั้งหมดที่อยู่ในอาร์เรย์ JavaScript

เราต้องเขียนฟังก์ชัน containsAll() รับสองอาร์กิวเมนต์: แรก อ็อบเจกต์ สอง อาร์เรย์สตริง คืน boolean ตามว่าอ็อบเจกต์มีคุณสมบัติทั้งหมดที่ระบุในอาร์เรย์หรือไม่

เขียนโค้ด เราจะวนลูปอาร์เรย์ ตรวจสอบการมีอยู่ของแต่ละสมาชิกในอ็อบเจกต์ หากเจอสตริงที่ไม่ใช่ key ของอ็อบเจกต์ ออกและคืน false มิฉะนั้นคืน true

ตัวอย่าง

const obj = {
  'name': 'Ashish Kumar','dob': '12/07/1991','gen': 'M','isEmployed': true,'jobType': 'full-time'
};
const obj2 = {
  'name': 'Ashish Kumar','dob': '12/07/1991','gen': 'M','jobType': 'full-time'
};
const arr = ['dob', 'name', 'gen', 'isEmployed', 'jobType'];
const containsAll = (obj, arr) => {
  for(const str of arr){
    if(Object.keys(obj).includes(str)){
      continue;
    }else{
      return false;
    }
  }
  return true;
};
console.log(containsAll(obj, arr));
console.log(containsAll(obj2, arr));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น

true
false