เราจำเป็นต้องเขียนฟังก์ชัน 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