flatmap
Version:
The missing flatMap function for Node
15 lines (14 loc) • 382 B
JavaScript
module.exports = function(arr, iter, context) {
var results = [];
if (!Array.isArray(arr)) return results;
arr.forEach(function(value, index, list) {
var res = iter.call(context, value, index, list);
if (Array.isArray(res)) {
results.push.apply(results, res);
} else if (res != null) {
results.push(res);
}
});
return results;
};
;