Javascript 循环遍历多个数组对象值,并与另一个数组对象的正确值相匹配
我的措辞不是很好,但当你看到我的代码时,你应该能够理解我所说的要点 我有一个Javascript 循环遍历多个数组对象值,并与另一个数组对象的正确值相匹配,javascript,loops,object,Javascript,Loops,Object,我的措辞不是很好,但当你看到我的代码时,你应该能够理解我所说的要点 我有一个对象,看起来像这样(在我下面尝试的解决方案中称为newObj): 键需要保留日期,因为它将在我的线图的x轴上运行 现在,我需要遍历上面的每个日期数组,并确定所述日期是否与下面对象中的picku date值匹配(object在下面尝试的解决方案中调用loads),然后将其添加到newObj: 0: {id: 167, pickup_date: "2020-05-21", pickup_location: "Sugar Cr
对象
,看起来像这样(在我下面尝试的解决方案中称为newObj
):
键需要保留日期,因为它将在我的线图的x轴上运行
现在,我需要遍历上面的每个日期数组,并确定所述日期是否与下面对象中的picku date
值匹配(object
在下面尝试的解决方案中调用loads
),然后将其添加到newObj
:
0: {id: 167, pickup_date: "2020-05-21", pickup_location: "Sugar Creek, MO 64050, USA", rate: "1000.0", delivery_date: "2020-05-22", …}
1: {id: 768, pickup_date: "2020-05-19", pickup_location: "North Kansas City, MO 64116, USA", rate: "450.0", delivery_date: "2020-05-20", …}
2: {id: 809, pickup_date: "2020-05-20", pickup_location: "Wichita, KS 67219, USA", rate: "454.3", delivery_date: "2020-05-20", …}
3: {id: 984, pickup_date: "2020-05-19", pickup_location: "Fulton, MO 65251, USA", rate: "650.0", delivery_date: "2020-05-20", …}
4: {id: 1232, pickup_date: "2020-05-19", pickup_location: "Shawnee, KS 66219, USA", rate: "1209.62", delivery_date: "2020-05-19", …}
5: {id: 1317, pickup_date: "2020-05-20", pickup_location: "Shawnee, KS 66219, USA", rate: "1209.62", delivery_date: "2020-05-20", …}
6: {id: 1321, pickup_date: "2020-05-21", pickup_location: "Sugar Creek, MO 64058, USA", rate: "550.0", delivery_date: "2020-05-21", …}
7: {id: 1325, pickup_date: "2020-05-18", pickup_location: "Kansas City, MO 64120, USA", rate: "903.6", delivery_date: "2020-05-18", …}
8: {id: 1326, pickup_date: "2020-05-21", pickup_location: "Kansas City, MO 64120, USA", rate: "838.6", delivery_date: "2020-05-21", …}
9: {id: 1451, pickup_date: "2020-05-13", pickup_location: "Kansas City, MO 64127, USA", rate: "575.0", delivery_date: "2020-05-14", …}
基本上,初始的对象包含一周的日期。我想从我的第二个对象数组中找到所有日期,并将它们与正确的键配对
我尝试了很多事情,结果有两个结果;我要么只获取newObj
值中的最后一个元素,要么获取newObj
值的array
长度(这是正确的长度…即数组中实际有多少个加载,但我无法访问它们)
这是我的密码:
for(property in newObj){
newObj[property].forEach(function(date){
loads.forEach(function(load){
if (load.pickup_date === date){
newObj[property] = arr.push(load)
}
})
})
}
console.log(newObj)
这是具有正确数组长度的控制台;只是不是实际的负载
2020-05-03: 34
2020-05-10: 68
2020-05-17: 95
这些必须是某个虚拟数组的正确长度,但我不知道如何实际获取数据。这就是你想要的吗
让finalRes={}
for(在newObj中的财产){
设arr=[]
newObj[property].forEach(函数(日期){
loads.forEach(函数(load){
如果(装载、捡拾_日期===日期){
arr.push(负载)
}
})
})
最终[财产]=arr
}
您似乎直接从控制台复制了代码,但这些行既不完整也不可行。你能修复你的代码并创建一个我们可以执行和查看的代码片段吗。请参见文本编辑器中的
图标以创建代码段。工作起来就像一个符咒!我也很接近:/。谢谢你的帮助!
2020-05-03: 34
2020-05-10: 68
2020-05-17: 95