gpt4 book ai didi

javascript - 在 JS 中一起使用 Find 和 ForEach

转载 作者:行者123 更新时间:2023-12-01 02:05:10 26 4
gpt4 key购买 nike

我有两个名为 active_filterscars 的数组。我正在努力提高性能,但我发现下面的代码非常繁重且缓慢。我想知道是否可以在没有外部 forEach 的情况下比较 cars 数组中的 x.value 和 element[0] ?我对此非常陌生,非常感谢任何帮助!如果还有更好的方法来解决这个问题,我愿意接受建议:) 谢谢!!!

 cars.forEach(function(element) {
active_filters.find(x => x.value === element[0].getAttribute("data-location-id"));
});

更新:

我的目标是返回属性 data-location-id(位于 cars 数组中)是否位于并且等于 active_filters 数组中的 value 属性。

示例数据:

事件过滤器数组对象

{class: "data-location-id", value: "AD-48.7284-2.3601"}
{class: "data-location-id", value: "AL-48.726243-2.365247"}

汽车阵列:

<li data-location-id="ZT-48.8308-2.3567" class="listing"></li>
<li data-location-id="AD-48.7284-2.3601" class="listing"></li>
<li data-location-id="AC-28.7284-2.3601" class="listing"></li>

最佳答案

要获取每个元素的结果,请使用 map(),而不是 forEach()。它们都迭代数组并调用函数,但 forEach() 丢弃结果,而 map() 将所有结果收集到数组中。

cars.map(car => !!active_filters.find(x => x.value === car.data("location-id")));

!!find() 的结果转换为 bool 值 true/false

关于javascript - 在 JS 中一起使用 Find 和 ForEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50165165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com