[英]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.