【发布时间】:2020-08-09 08:04:22
【问题描述】:
上下文:我想制作一个检查时间冲突的时间表计划器。非常感谢任何帮助。
具体问题:无法弄清楚如何将我的对象数组拆分为多个数组,并重复某些键。
我的数据集:
let myCourses = [
{
course: "ee3001",
slots: [
{
day: "monday",
time: "0900-1100",
},
{
day: "tuesday",
time: "0930-1100",
},
{
day: "wednesday",
time: "1330-1530",
},
],
},
{
course: "ee3002",
slots: [
{
day: "monday",
time: "0900-1100",
},
{
day: "thursday",
time: "0930-1130",
},
],
},
{
course: "ee3003",
slots: [
{
day: "tuesday",
time: "0930-1100",
},
{
day: "wednesday",
time: "1330-1530",
},
{
day: "thursday",
time: "0930-1130",
},
],
},
];
我想将其拆分成的数组:
let newarray = [
{
course: "ee3001",
slot: {
day: "monday",
time: "0900-1100",
},
},
{
course: "ee3001",
slot: {
day: "monday",
time: "1300-1400",
},
},
...
...
];
let newArray2 = //containing info on ee3002
let newArray3 = //containing info on ee3003
**注意:**要填充数据集,即。用户可以添加更多课程和时间。
- 这样做的原因是我可以利用Cartesian Product of arrays 来查找所有组合。
- 然后我可以检查给定组合中是否存在任何时间冲突。
- 有没有更好的方法来解决这个问题?
【问题讨论】:
-
Array.filter 可能会帮助你
标签: javascript arrays javascript-objects data-manipulation timetable