ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่อยู่บน Object ต้นแบบของคลาส Array
ฟังก์ชันของเราควรใช้ฟังก์ชันเรียกกลับเป็นอาร์กิวเมนต์เดียว ควรเรียกใช้ฟังก์ชันเรียกกลับนี้สำหรับแต่ละองค์ประกอบของอาร์เรย์
และฟังก์ชันการเรียกกลับนั้นควรใช้องค์ประกอบและดัชนีที่สอดคล้องกันในสองอาร์กิวเมนต์ หากฟังก์ชันเรียกกลับคืนค่าเป็น จริง เราควรรวมองค์ประกอบที่เกี่ยวข้องในอาร์เรย์เอาต์พุตของเรา มิฉะนั้น เราควรแยกออก
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [5, 3, 6, 2, 7, -4, 8, 10]; const isEven = num => num % 2 === 0; Array.prototype.customFilter = function(callback){ const res = []; for(let i = 0; i < this.length; i++){ const el = this[i]; if(callback(el, i)){ res.push(el); }; }; return res; }; console.log(arr.customFilter(isEven));
ผลลัพธ์
[ 6, 2, -4, 8, 10 ]