SecureCloud-biz
6/18/2017 - 5:03 PM

higher-order-function-drill-solutions.js

function repeat(fn, n) {
    for (var i=0; i<n; i++) {
        fn();
    }
};

function sayHello() {
    console.log('Hello');
}

repeat(sayHello, 10);

function createGreeter(greeting) {
    return function(name) {
        console.log(greeting, name);
    };
}

var hello = createGreeter('Hello');
var bonjour = createGreeter('Bonjour');
var hej = createGreeter('Hej');

hello('Joe');
bonjour('Joe');
hej('Joe');

var movements = [[0, 0], [0, 5], [-1, -3], [-3, 1], [2, -4], [3, 2]];
movements = movements.filter(function(movement) {
    return movement[0] >= 0 && movement[1] >= 0;
});

distances = movements.map(function(movement) {
    return movement[0] + movement[1];
});

distances.forEach(function(distance) {
    console.log(distance);
});