【发布时间】:2020-09-18 21:38:03
【问题描述】:
Good Day Developers,我有这 2 个数组
let arrayOfBookings=[
{restaurantId: 1, turnName: "10:00_am"},
{restaurantId: 1, turnName: "11:00_am"},
{restaurantId: 2, turnName: "11:00_am"}
];
let restaurantSelectedTurns=[
{restaurantId: 1, turnName: "10:00_am"},
{restaurantId: 1, turnName: "11:00_am"},
{restaurantId: 1, turnName: "12:00_am"},
{restaurantId: 1, turnName: "01:00_pm"}
];
首先要记住每个对象(restaurantId 和 turnName)的项目在哪里 比较的两个元素的 restaurantId 相等,则可以检查 turnName 是否不相等。 如果是这种情况,那么我会将该对象推送到一个新的数组容器中。 因此请记住我设置的逻辑
...some variable called noRepeated:[]=[];
restaurantSelectedTurns.forEach((turn) => {
arrayOfBookings.forEach((booking) => {
if (turn.restaurantId == booking.restaurantId) {
if (turn.turnName != booking.turnName) {
this.noRepeated.push(turn);
}
}
});
console.log(this.noRepeated);
});
但是由于任何原因,当我记录不重复的结果时,我得到了这个
{restaurantId: 1, turnName: "10:00_am"},
{restaurantId: 1, turnName: "11:00_am"},
{restaurantId: 1, turnName: "12:00_am"},
{restaurantId: 1, turnName: "12:00_am"},
{restaurantId: 1, turnName: "01:00_pm"},
{restaurantId: 1, turnName: "01:00_pm"},
而不是
{restaurantId: 1, turnName: "12:00_am"},
{restaurantId: 1, turnName: "01:00_pm"},
此逻辑使用 angular 。 提前谢谢!!!!
【问题讨论】:
标签: javascript arrays angular