【发布时间】:2018-02-24 03:50:56
【问题描述】:
我有 2 个对象,我想将其合并为一个对象数组,但我需要先使用 JavaScript 或 AngularJS 进行比较。
A = [
{date: "2013-07-31", start_time:"2013-07-31 17:30:00+10", finish_time:"2013-07-31 20:30:00+10"},
{date: "2013-08-03", start_time:"2013-08-03 17:00:00+10", finish_time:"2013-08-03 20:00:00+10"},
{date: "2013-09-03", start_time:"2013-09-03 17:00:00+10", finish_time:"2013-09-03 20:00:00+10"}
]
B = [
{date: "2013-07-31", start_time:"2013-07-31 17:37:49+10", finish_time:"2013-07-31 20:32:04+10"},
{date: "2013-08-03", start_time:"2013-08-03 16:57:34+10", finish_time:"2013-08-03 20:00:57+10"}
]
Expected output
C = [
{date: "2013-07-31", start_time:"late", finish_time:"on time"},
{date: "2013-08-03", start_time:"on time", finish_time:"on time"},
]
如果两个对象数组具有相同的日期,我将首先比较,然后我将比较相同日期的开始,然后如果 B 上的 start_time 值超过 A start_time,那么它将更改为“迟到”的字符串”。同样对于finish_time,如果B 上的值低于A,则字符串将“为时过早”。
【问题讨论】:
-
那么,您的两个数组的长度相同,对吧?然后循环其中一个数组的长度,并将日期、时间字符串解析为日期或日期时间对象,以便您轻松进行比较。得到比较结果后,将想要的值插入到新数组中。
-
我忘了说如果长度不完全一样。
-
这是作业吗?
-
@JosephSerido 这是一部作品。问题解决了。谢谢!
标签: javascript angularjs object javascript-objects arrayobject