Как оформить такой код через класс?

234
27 марта 2018, 03:09
function chain(arr) {
    function wrapChain(func) {
        return function(...args) {
            arr = func.call(null, arr, ...args)
            return this;
        }
    }
    return {
        take: wrapChain(self.take),
        skip: wrapChain(self.skip),
        map: wrapChain(self.map),
        reduce: wrapChain(self.reduce),
        foreach: wrapChain(self.foreach),
        filter: wrapChain(self.filter),
        value: () => arr
    };
}
class Chain extends CustomArrayFunctions {
    constructor(arr) {
        super();
        this.arr = arr;
        return this;
    }
    wrapChain(func){
        return (...args)=>{
            this.arr = func.call(null, this.arr, ...args);
            return this;
        }
    }
    take(){
     return this.wrapChain(super.take);
    }
}

Интересует именно функция wrapChain, сделал что-то похожее но не робит

READ ALSO
Сортировка массива с объектами js

Сортировка массива с объектами js

Здравствуйте, мне по API приходит массив с объектами, в каждом объекте есть ключ priceНужно сделать фильтрацию по убыванию и возрастанию цены

245
Как перенести функции на сервер JS

Как перенести функции на сервер JS

Приветствую всехВозникла задача скрыть js код на сайте

211
jquery собые по клику на внутренних ссылках

jquery собые по клику на внутренних ссылках

Есть див-обертка внутри куча li div aэто меню

224