Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 包含失败的筛选器数组_Javascript_Arrays - Fatal编程技术网

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中。尽管我是一个初学者,我还是加入了水果的例子来证明我走在了正确的道路上。我也试过手动操作

!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])            
);