Q209124

by jun68ykt

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
<div id="test"></div>

JavaScript

var arr = [
  ["a","a","a",1,"2019/01/01"],
  ["a","b","a",1,"2019/01/01"],
  ["b","a","a",1,"2019/01/01"],
  ["a","a","c",1,"2019/01/01"],
  ["c","a","c",1,"2019/01/01"],
  ["b","b","b",1,"2019/01/01"],
  ["b","b","a",1,"2019/01/01"],
  ["c","a","c",1,"2019/07/01"],
  ["b","a","b",1,"2019/01/01"],
  ["a","a","a",1,"2019/02/02"]
];

var categoryKey = (e) => e.slice(0,3).join('/');

var categorizedGroup = _.groupBy(arr, categoryKey);

var newestByCategories = _.map(categorizedGroup, ary => _.maxBy(ary, e => e[4]));

var arr2 = _.sortBy(newestByCategories, categoryKey)

for (var i = 0; i < arr2.length; i++) {
  test.innerHTML += arr2[i] + "<br>";
}