我在下面的数组中遇到了一些问题,我想组合具有相同时隙的对象。
我试着遍历它们,并将所有对象与各自的时隙进行比较。但(我认为)因为它们都被视为不同的示例,所以它不起作用。
我不是要求一个完整的解决方案,而是一些关于如何将它们相互比较或如何处理的提示。
我的数组
[
{
"valid_days": ["0"],
"timeslots": [
{
"from_time": "09:00",
"to_time": "12:00"
}
]
},
{
"valid_days": ["1"],
"timeslots": [
{
"from_time": "09:00",
"to_time": "12:00"
}
]
},
{
"valid_days": ["2"],
"timeslots": [
{
"from_time": "09:00",
"to_time": "12:00"
},
{
"from_time": "13:00",
"to_time": "15:00"
}
]
},
{
"valid_days": ["3"],
"timeslots": [
{
"from_time": "09:00",
"to_time": "12:00"
},
{
"from_time": "13:00",
"to_time": "15:00"
}
]
}
]
预期效果
[
{
"valid_days": ["0", "1"],
"timeslots": [
{
"from_time": "09:00",
"to_time": "12:00"
}
]
},
{
"valid_days": ["2", "3"],
"timeslots": [
{
"from_time": "09:00",
"to_time": "12:00"
},
{
"from_time": "13:00",
"to_time": "15:00"
}
]
}
]
1条答案
按热度按时间isr3a4wc1#
因为你只想得到一些提示:
1.对于循环,您应该熟悉JS中的经典循环或非常好用的内置数组函数:
1.在JS中进行比较时,请始终使用“=”或“!==”,而不是使用“==”或“!=”。这两种类型都不支持深入比较对象。这意味着
{ foo: 'bar' } === { foo: 'bar' }
始终返回false
。因此,您必须(可能使用比较函数)比较时隙对象。我想,剩下的应该是直截了当的:)