javascript - 在 Javascript 数组中搜索 Regex,如果找到则返回 True/False (0/1)

标签 javascript regex arrays search grep

我需要知道如何在数组中搜索一些文字文本并将其用作是否继续的条件。

原因如下: 每次我执行一个函数时,我都会将它所作用的属性的 ID 推送到一个数组中。我需要我的函数来检查该 ID 是否已经在数组中,如果是,则将其删除并执行我的其他函数(相反)。

这是一个示例数组:

var myArray = new Array();
myArray.push([1.000,1.000,"test1"]);
myArray.push([2.000,2.000,"test2"]);
myArray.push([3.000,3.000,"test3"]);

我知道 Grep 函数可以搜索,但如果它找到某些东西,我无法让它评估 true 或 false。

这是我对搜索评估的理想使用。

function searcher(id){
    if(myArray.grep(id);){
        oppositeFunction(id);
    }else{
        function(id);
    }
}

最佳答案

Grep 不是标准的 javascript 数组方法。您是否正在使用已将此方法添加到数组的 javascript 库?如果是这样,您可能想看看它的实现。由于您将数组插入数组,因此它需要能够搜索数组的每个元素的元素,而不是搜索数组本身的 id。做你想做的事情的功能是:

 function superContains(aray,id)
 {
      var contains = false;
      for (var i=0, len = aray.length; !contains && i < len; ++i)
      {
           var elem = aray[i];
            if (elem.constructor && elem.constructor == Array)
            {
                 contains = superContains(elem,id);
            }
            else
            {
                 contains = elem == id;   //  or elem.match(id)
            }
      }
      return contains;
 }

关于javascript - 在 Javascript 数组中搜索 Regex,如果找到则返回 True/False (0/1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/366262/

相关文章:

javascript - 如何在三 Angular 形多维数组中填充数字?

javascript - AJAX 单页爬取

c# - 正则表达式 "^[a-zA-Z]"或 "[^a-zA-Z]"

javascript - 将字符串数组与具有字符串属性的数组对象进行比较的最佳方法?

c# - 简单正则表达式 (Regex) 问题 (.net)

c# - 为什么我的匹配成功是假的?

javascript - 顺序数组提取到 Javascript 中的单个数组

javascript - 诗乃找不到方法 'spy'

javascript - 将外部 javascript 加载到另一个 javascript 中

javascript - 使用javascript用方括号替换下划线