Javascript循环并插入新对象



I with ajax 获取以下数据:

[{"id":125,"price":225,"start":"Tue, 26 Apr 2016 00:00:00 +0000","user_id":8},{"id":124,"price":200,"start":"Wed, 27 Apr 2016 00:00:00 +0000","user_id":8},{"id":121,"price":67,"start":"Sat, 23 Apr 2016 00:00:00 +0000","user_id":8},{"id":114,"price":45,"start":"Sun, 08 May 2016 00:00:00 +0000","user_id":9},{"id":113,"price":55,"start":"Sun, 24 Apr 2016 00:00:00 +0000","user_id":8},{"id":111,"price":55,"start":"Wed, 01 Jun 2016 00:00:00 +0000","user_id":11},{"id":110,"price":53,"start":"Fri, 03 Jun 2016 00:00:00 +0000","user_id":8},{"id":107,"price":53,"start":"Wed, 03 Aug 2016 00:00:00 +0000","user_id":8},{"id":106,"price":55,"start":"Mon, 01 Aug 2016 00:00:00 +0000","user_id":8},{"id":105,"price":53,"start":"Tue, 16 Aug 2016 00:00:00 +0000","user_id":8},{"id":104,"price":55,"start":"Thu, 21 Apr 2016 00:00:00 +0000","user_id":11},{"id":101,"price":57,"start":"Wed, 17 Aug 2016 00:00:00 +0000","user_id":8}]

所以如您所见,有start数据。我还有:

var start = '04/17/2016 12:00 am';
var end = '09/20/2016 12:01 am';

现在我需要从startend逐日循环,检查日(日期)是否将 jcist 转换为 json,如果没有将新数据添加到 json 中:

{"id":0,"price":100,"start":"DATE","user_id":0}

最好的方法是什么?

更新:我创建了一个从头到尾都有日期的新,但现在我需要将 json 放入新数组中:http://jsbin.com/qekijumobe/edit?js,output

我的另一个答案有一个错误,这是我在它之后想到的:

首先,创建一个 foreach 循环,通过数组中的所有对象进行循环

for (var obj of objArray) {} //Use "of" instead of "in" tk get the values and not the indices

然后,在这个循环中,检查对象的每个字段,如果它们相同,abd,则断开循环,否则,如果没有匹配的对象,则将其推送到数组中。

function isInArray(yourObj) {
    for (var obj of objArray) {
        if (obj.id == yourObj.id && obj.start == yourObj.start && obj.price == yourObj.price && obj.user_id == yourObj.user_id)
             return true;
     }
    return false;
}

最新更新