已知一个数组:var data = [{'name':'aaa','val':'2015-10-11'},{'name':'aaa','val':'2015-11-01'},{'name':'aaa','val':'2015-11-03'},{'name':'bbb','val':'2015-12-11'},{'name':'bbb','val':'2015-12-03'},{'name':'bbb','val':'2015-10-12'},{'name':'ccc','val':'2015-12-11'},{'name':'ccc','val':'2015-12-15'},{'name':'ccc','val':'2015-12-13'}];
求组内日期最大的值,并且输出
输出aaa2015-11-03
bbb2015-12-11
ccc2015-12-15
这个貌似只能取出来之后在做比较
看你数据不是已经升序排好了,直接取最后一项,如果不是调用数组的sort降序排列下取第一项,你的输出结果不懂是什么关系。。自己按照排序好后的进行输出
var data = [{ 'name': 'aaa', 'val': '2015-10-11' }, { 'name': 'aaa', 'val': '2015-11-01' },
{ 'name': 'aaa', 'val': '2015-11-03' }, { 'name': 'bbb', 'val': '2015-12-11' }, { 'name': 'bbb', 'val': '2015-12-03' },
{ 'name': 'bbb', 'val': '2015-10-12' }, { 'name': 'ccc', 'val': '2015-12-11' }, { 'name': 'ccc', 'val': '2015-12-15' },
{ 'name': 'ccc', 'val': '2015-12-13' }];
data.sort(function (a, b) { return b.val.localeCompare(a.val) });
alert(data[0].val)
console.log(data)
求最值不需要排序,只需要冒泡排序的“第一个泡就行了”,可以split(“,”)按逗号切割成数组,
然后用正则取出日期,每个日期与下一个数据比较,留下较大的那个,并保存日期较大的那个的'aaa'等字段,
数组遍历到最后结果就出来啦。时间复杂度是线性的
用underscore.js里的函数