Javascript 在数组中搜索

标签 javascript jquery arrays google-maps

我在使用 JQuery 的 $.inArray 函数时遇到了问题(我也尝试过 indexOf)

我的代码:

var branches = circles[i].branches;
var counter = 0;
for (var j = 0; j < branches.length; j++) {

   var circle_branch = branches[j];
   var index = $.inArray( circle_branch, activeBranchSettings);
   if (index == -1)counter++;                   
}
if(counter == 0) circles[i].setMap(map);

所以我正在使用 Google Maps API,并且我有一个包含一些类别(分支)的控制面板,我可以在其中切换标记。每个圆圈(标记)可以有多个分支,并且这些 ID 附加到每个圆圈。因此,我循环遍历分支,并希望在另一个数组 (activeBranchSettings) 中找到该 ID,每次没有匹配时,我都会增加一个计数器。如果计数器最后为 0,我就会打开圆圈。因此,这告诉我们哪些标记不应该显示,哪些标记应该显示。

无论这是否是解决问题的完美方法,问题在于

  var index = $.inArray( circle_branch, activeBranchSettings);

每次都返回-1! 该值位于数组中的该点,我尝试使用 .toString() 将“circle_branch”转换为字符串,但仍然没有变化,有什么想法吗?

最佳答案

这些测试用例运行良好。 因此,也许比较数据类型 (typeof(variable)) 是发现问题的一个步骤

<script type="text/javascript">
    var arr = new Array('a', 'b', 'c', 'd');
    var look = new Array('d', 'b');

    for(var i=0; i<arr.length; i++)
    alert($.inArray( arr[i], look));
</script>

关于Javascript 在数组中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14226501/

相关文章:

javascript - VS Code 中的 Prettier 键盘快捷键命令是什么,用于仅格式化 React 代码块,而不仅仅是在文件自动保存上格式化?

AJAX 请求下一页/上一页的帮助

arrays - 如何使用 BASH 将 tar 命令中的文件读取到数组中?

javascript - 根据值获取键名列表 - Javascript

java - 将 JSON 字段的值相加

php - 带有变量的 Ajax 函数

javascript - 将 node-sass-json-importer 集成到 Angular CLI 应用程序中

javascript - 我已经集成了 instagram api 但没有显示所有图像

javascript - 表单在 onsubmit 函数完成之前提交

javascript - 通过动态添加删除行和列来调整 html 表格的大小?