JSFiddle - React, Tailwind, and code Playground
by Adam Boduch
JavaScript
var sets = {};
function rule(set, func) {
sets[set] = (sets[set] || []).concat(func);
}
function is(set, obj) {
if (sets[set].length) {
return sets[set]
.map(rule => rule(obj))
.reduce((result, item) => result + item, 0) /
sets[set].length;
}
return 0;
}
var array = [ 1, 2, 3, 4, 5, 7, 9 ];
rule('odd', (obj) => {
if (Array.isArray(obj)) {
return obj.filter(item => item % 2).length / obj.length;
}
});
console.log(is('odd', array));