微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 比较两个数组并创建第三个数组

我有两个数组,我试图比较并创建第三个

我的第一个数组:

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

看看this working demo.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐