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

รับเมธอดทั้งหมดของออบเจกต์ JavaScript


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

เราจะใช้ฟังก์ชัน Object.getOwnPropertyNames

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

ตัวอย่าง

const returnMethods = (obj = {}) => {
   const members = Object.getOwnPropertyNames(obj);
   const methods = members.filter(el => {
      return typeof obj[el] === 'function';
   })
   return methods;
};
console.log(returnMethods(Array.prototype));

ผลลัพธ์

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

[
   'constructor', 'concat', 'copyWithin',
'fill', 'find', 'findIndex', 'lastIndexOf', 'pop', 'push',
   'reverse', 'shift', 'unshift', 'slice', 'sort', 'splice',
   'includes', 'indexOf', 'join',
   'keys', 'entries', 'values',
   'forEach', 'filter', 'flat',
   'flatMap', 'map', 'every',
   'some', 'reduce', 'reduceRight',
   'toLocaleString', 'toString'
]