我有一个对象列表,每个对象都有一个日期和时间。
td
元素(其日历)的 onClick
我检查日历上的时间,然后检查它是否与我的对象列表中的任何时间匹配。
onSelect: function(date) {
for (var i = 0; i < dateArray.length; i++) {
for (var prop in dateArray) {
if (date === dateArray[prop].date) {
console.log(dateArray[prop].time);
}
}
}
}
所以我循环遍历我的数组,它是一个对象数组。为了能够得到任何结果,我需要执行一个 for in 循环,并在其中执行一个条件语句来说明日期是否匹配。控制台.注销正确的时间。
但是,由于处于循环状态,控制台会注销 10 次。但我进入对象数组的唯一方法是循环遍历它们。
我实际上应该如何做到这一点。
<小时/>编辑
dateArray 结构:像 [ object, object, object, object ]
这样的对象列表,一旦我循环遍历它们,在每个对象中它看起来像:
Object {title: "The Title", date: "01/01/2017", time: "07:30pm", available: true,}
最佳答案
我认为你只是循环了两次。
鉴于它是一个数组,您应该使用 for 循环它,如下所示
onSelect: function(date) {
for (var i = 0; i < dateArray.length; i++) {
if (date === dateArray[i].date) {
console.log(dateArray[i].time);
}
}
}
关于javascript - 如果值与数组显示项目中的另一个值匹配 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37960307/