JSFiddle - React, Tailwind, and code Playground
codesmells - array fun
by Csaba Hellinger
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>
JavaScript
//context
var data = [
{ entries: [{title: 'one' }, {title: 'two' }] },
{ entries: [{title: 'three'}, {title: 'four'}] },
{ entries: [{title: 'five' }, {title: 'six' }] }
];
// original
var results = [];
results = results.concat(data[0].entries.map(function (item) {
return item.title;
}));
results = results.concat(data[1].entries.map(function (item) {
return item.title;
}));
results = results.concat(data[2].entries.map(function (item) {
return item.title;
}));
// improved 1
var imp1 = data[0].entries
.concat(data[1].entries, data[2].entries)
.map(function (item) {
return item.title;
});
// improved 2
var imp2 = _(data).pluck('entries').flatten().pluck('title').value();
console.clear();
console.log(results);
console.log(imp1);
console.log(imp2);