I disagree on
items.forEach(function(item) {
doSomething(item);
});
being an anti pattern. Many of these looping functions actually pass more than one argument to the callback, so writing items.forEach(doSomething);
will break if doSomething is a function with optional arguments.