繁体   English   中英

如何检查所选数字是否在数组中?

[英]How to check if a selected number is in an array?

我想在带有过滤的谷歌地图上放置标记。 如果过滤器只需要检查一个值,我的代码就可以正常工作。 但是,如果我想检查过滤器返回的值是否在该数组中,那么不幸的是代码不起作用。

这是我的代码:

https://jsfiddle.net/7o8w2eaq/

所以我想要帮助的代码片段:

filterMarkersEres = function (eres) {
  for (i = 0; i < gmarkers1.length; i++) {
    marker = gmarkers1[i];
    var ereshonap = marker.eres;
    let igaze = ereshonap.includes(eres);
    //ereshonap.includes(eres);
    console.log(igaze);

    // If is same category or category not picked
    if (ereshonap.includes(eres) || eres.length === 0) {
      //
      marker.setVisible(true);
    }
    // Categories don't match
    else {
      marker.setVisible(false);
    }
  }
};

所以我想让成熟时间过滤器工作几个月。 我想我应该以某种方式检查“marker.eres”是否包含所选月份的值,但我不知道如何。所以我想寻求帮助。

我希望我已经说清楚了,提前谢谢你!

谢谢它已经根据评论工作了!

正如@GrafiCode所指出的, ereshonap数组包含数字,而eres是一个字符串。 因此,在检查它是否在数组中之前,我需要使用parseInt(eres)将字符串转换为整数。

filterMarkersEres = function (eres) {
  for (i = 0; i < gmarkers1.length; i++) {
    marker = gmarkers1[i];
    var ereshonap = marker.eres;

    // If is same category or category not picked
    if (ereshonap.includes(parseInt(eres)) || eres.length === 0) {
      marker.setVisible(true);
    } else { // Categories don't match
      marker.setVisible(false);
    }
  }
}

使用 console.log(variable.isArray()); 如果为真则其和数组否则如果为假则非数组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM