JSFiddle - React, Tailwind, and code Playground
by jfriend00
HTML
<script src="http://files.the-friend-family.com/log.js"></script>
CSS
body {
font-family: "Courier New";
font-size: 11px;
}
JavaScript
var raw = {};
raw.add = function(a,b){return a + b;}
raw.sub = function(a,b){return a - b;}
raw.neg = function(a){return -a;}
raw.sqrt = function(a){return Math.sqrt(a);}
var modified = {};
for (prop in raw) {
if (raw.hasOwnProperty(prop) && typeof raw[prop] === "function") {
(function (prop) {
modified[prop] = function () {
var arglist = [].slice.apply(arguments);
var out = [];
if (arglist.length == 1) {
[].concat(arglist[0]).forEach(function (d) {
out.push(raw[prop](d));
});
} else if (arglist.length == 2) {
[].concat(arglist[0]).forEach(function (d1) {
[].concat(arglist[1]).forEach(function (d2) {
out.push(raw[prop](d1, d2));
})
});
}
return out;
}
})(prop);
}
}
log("modified.sqrt([4,9,16,25]) = ", modified.sqrt([4,9,16,25]));
log("modified.add([1,2,3,4], [4,3,2,1]) = ", modified.add([1,2,3,4], [4,3,2,1]));
log("modified.sub([1,2,3,4], [4,3,2,1]) = ", modified.sub([1,2,3,4], [4,3,2,1]));
log("modified.add(1, [4,3]) = ", modified.add(1, [4,3]));