function reduce(set, iterator, memo) {
        for (var index = 0; index < set.length; index++) {
            memo = iterator(memo, set[index], index, set);
        }
        return memo;
    }
**Reduce** builds up a single result from a list of values
@param {Array|NodeList|NamedNodeMap} set
@param {Function} iterator
@param {*} [memo] Initial value of the memo.