一个集合list1
另一个集合list2
如何将它合并成
这个样子呀?谢谢啦
账号没分了,谢谢各位啦
首先,你这个List1的元素是一个包含日期、点击量的对象,List2是包含日期、注册的对象对吧?
其次,你可以提供一个根据日期比较对象的方法,比较这两个对象是否相同,如果相同就合并。
最后,就是遍历,比较并合并。如果就java实现就类似:
可以将List元素定义为一个类:日期、点击量、注册量,并且实现comparable接口如果日期equal相同就返回0;
然后List1中的元素都有前两个属性,List2的元素都有1、3个元素;
最后就是遍历比较
for(Object l1:list1)
{ for(Object l2:list2){
if(l1.compareTo(l2)==0){
合并
}
}
}
var values = from l1 in list1
join l2 in list2 on l1.date equals l2.date into temp
from tt in temp.DefaultIfEmpty()
select new
{
date= l1.date,
click =l1.click,
reg =l2.reg
};
还是不太懂啊,大神,再过来看看,说的详细一点,谢谢啦
双重循环,判断头一个字段是否相同,然后写一个新的数组,把数据放进去就行了
//给你一个 js的合并参考这个
function aa(){
var a1=[{date:"3.1",click:"2"},{date:'3.2',click:"3"}];
var a2 = [{date:"3.1",click:"2",regist:"3"},{date:"3.2",click:"3",regist:"6"}];
var result =[];
$.each(a1,function(i,v){
var r = {};
r.date = v.date
r.click = v.click
$.each(a2,function(i,v){
if(r.date == v.date){
r.regist = v.regist;
}
})
result.push(r);
})
console.info(result);
}
点击 注册 下单 是分别从数据库输出的,就是怎么样把它们日期一样的输出在一起
比如
日期 点击 注册 下单
2016-03-27 1 1 1
这样的