我有两个数组,我试图比较并创建第三个
我的第一个数组:
sevendays = ["04","05","06","07","08","09","10"];
我的第二个数组:
json[0] = [Object{day="04",value="5"},Object { day="05",value="8"},Object { day="09",value="9"}]
我想要得到的是:
[[04,5],[05,8],[06,0],[07,[08,[09,9],[10,0]]
我试过这样的
var desiredArray= []; $.each(sevendays,function (i,v) { val= 0; if (json[0][i].value) val = json[0][i].value; desiredArray[i] = [v,val] }); [[04,0]] //output
解决方法
您当前正在将sevendays中的索引i的值与json [0]的索引i处的对象的value属性进行比较,但这不正确,因为订单不匹配. 09的值是json [0]中的索引2,但09是7天的索引5.
你需要迭代七天,并且每次迭代迭代json [0]以找到匹配的对象,如下所示:
var desiredArray = []; $.each(sevendays,day) { val = 0; $.each(json[0],function(j,value) { if(day == value.day) val = value.value; }); desiredArray[i] = [day,val]; });