Как сделать так, чтобы функция рабочего фильтра в классе расширялась от массива

miorey спросил: 03 ноября 2018 в 09:42 в: javascript

Я пытаюсь создать собственный класс Array, расширяя общий класс Array. В этом классе я хочу создать пользовательский поиск / фильтр. Когда я вызываю пользовательский find, он работает хорошо, но когда я вызываю filter, у меня возникает проблема с итератором. Вот мой код

class MyClass extends Array {
  constructor(inArray){
    super();
    this.push(...inArray);
  }  myFind(callback) {
    return this.find(callback);
  }  myFilter(callback) {
    return this.filter(callback);
  }
}
//Works
console.log(new MyClass(["a","b"]).myFind(item => item === "a"));
//Do not work
console.log(new MyClass(["a","b"]).myFilter(item => item === "a"));

0 ответов