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);