nekomata_saren@tg says to YSITD
filter(fn) { let newArr = []; for (let item of this) { if (fn(item)) { newArr.push(item); } } return newArr; }