Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ตรวจสอบว่าอ็อบเจ็กต์มีคีย์ทั้งหมดใน JavaScript array . หรือไม่


เราจำเป็นต้องเขียนฟังก์ชัน containAll() ที่มีสองอาร์กิวเมนต์ อันดับแรกคืออ็อบเจกต์และอาร์เรย์ของสตริงที่สอง ส่งคืนบูลีนโดยพิจารณาจากข้อเท็จจริงที่ว่าอ็อบเจกต์มีคุณสมบัติทั้งหมดที่กล่าวถึงเป็นสตริงในอาร์เรย์หรือไม่

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

นี่คือรหัสสำหรับทำเช่นเดียวกัน -

ตัวอย่าง

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