Javascript 包含失败的筛选器数组
这和预期的一样,我得到了“香蕉” 但这失败了Javascript 包含失败的筛选器数组,javascript,arrays,Javascript,Arrays,这和预期的一样,我得到了“香蕉” 但这失败了 ticketDetailsSubset2 = ticketDetailsArray.filter( (i: any) => !excludeTickets.includes(i["stl19:TicketNumber"][0]) ); excludeTickets的数组就是这样 0: ["0017522827238"] 我正在循环浏览ticketDetailsArray,其中
ticketDetailsSubset2 = ticketDetailsArray.filter(
(i: any) => !excludeTickets.includes(i["stl19:TicketNumber"][0])
);
excludeTickets的数组就是这样
0: ["0017522827238"]
我正在循环浏览ticketDetailsArray,其中包括3个对象
- 第一个对象包含-
stl19:TicketNumber:[“0017522827238”]
- 第二个对象包含-
stl19:TicketNumber:[“0017522827238”]
- 第三个对象包含-
stl19:TicketNumber:[“0017522827239”]
!excludeTickets.includes("0017522827238")
但它仍然不起作用。一切都归还了。我有一个类似的.过滤器代码段,带有另一个条件检查,它可以工作。区别是什么?包括??所以我猜includes并不是要做我认为它应该做的事情,但果品选项同样有效???
excludeTickets
是一个二维数组(注意excludeTickets[0]
周围的方括号),而不是字符串数组。你需要把它弄平
flatTickets = excludeTickets.flatMap(el => el);
ticketDetailsSubset2 = ticketDetailsArray.filter(
(i: any) => !flatTickets.includes(i["stl19:TicketNumber"][0])
);
请提供一份报告。通过使其可复制,您至少需要重构足够的代码,以使其与当前代码相同的方式出现故障,这可以帮助您识别出哪里出了问题。太棒了。我是个菜鸟,从来没有想到过这一点。我会读到关于压扁的书谢谢芭芭拉
flatTickets = excludeTickets.flatMap(el => el);
ticketDetailsSubset2 = ticketDetailsArray.filter(
(i: any) => !flatTickets.includes(i["stl19:TicketNumber"][0])
);