Skip to content

Instantly share code, notes, and snippets.

@drwlrsn

drwlrsn/6.1.js Secret

Created April 13, 2013 19:56
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save drwlrsn/bbb39f33f621ad5585ec to your computer and use it in GitHub Desktop.
Eloquent JavaScript
'use strict';
var forEach = function (array, action) {
for (var i = 0; i < array.length; i++) {
action(array[i]);
}
};
var reduce = function (combine, base, array) {
forEach(array, function (element) {
base = combine(base, element);
});
return base;
};
var count = function (test, numbers) {
return reduce(function (total, number) {
if (number === test) {
return total + 1;
}
return total;
}, 0, numbers);
};
var countZeroes = function (numbers) {
return count(0, numbers);
};
// Test!
console.log( countZeroes([5, 6, 0, 3, 5, 7, 0, 0, -0]) );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment