24 lines
493 B
JavaScript
24 lines
493 B
JavaScript
// Functions as values of a variable
|
|
var cube = function (x) {
|
|
return Math.pow(x, 3);
|
|
};
|
|
var cuberoot = function (x) {
|
|
return Math.pow(x, 1 / 3);
|
|
};
|
|
|
|
// Higher order function
|
|
var compose = function (f, g) {
|
|
return function (x) {
|
|
return f(g(x));
|
|
};
|
|
};
|
|
|
|
// Storing functions in a array
|
|
var fun = [Math.sin, Math.cos, cube];
|
|
var inv = [Math.asin, Math.acos, cuberoot];
|
|
|
|
for (var i = 0; i < 3; i++) {
|
|
// Applying the composition to 0.5
|
|
console.log(compose(inv[i], fun[i])(0.5));
|
|
}
|