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