【问题标题】:Searching an array for a substring in Javascript在 Javascript 中搜索数组中的子字符串
【发布时间】:2011-10-16 17:07:09
【问题描述】:

我已经在网络上进行了搜索,但没有任何运气来纠正我的问题。我想要做的是在数组中搜索子字符串并返回结果。数组的一个例子是这样的:

the_array = ["PP: com.package.id, NN: Package Name","PP: com.another.id, NN: Another Name"];

我想做的是在the_array 中搜索com.package.id,确保它出现在"PP:""," 之间。另请注意,该数组将包含数千个值。希望能帮到你,谢谢。

【问题讨论】:

标签: javascript arrays search substring


【解决方案1】:

简单的方法:

the_array.join("|").indexOf([str]) >= 0;

其他方法是使用.each() 或简单的for 循环遍历数组

Array.prototype.each = function(callback){
    for (var i =  0; i < this.length; i++){
        callback(this[i]);
    }
}

the_array.each(function(elem){
    console.log(elem.indexOf('<searchString goes here>'));
});

【讨论】:

  • each 不是 JavaScript 函数。
  • FWIW,ECMAScript 5 引入 forEach: developer.mozilla.org/en/JavaScript/Reference/Global_Objects/… 你也可以在那里找到替代实现。但在我看来,each 与问题无关。
  • 是的,是的。由于 ES5 尚未得到普遍支持,我们需要这些变通方法。
  • 感谢您的帮助@Mrchief!
  • @Mrchief 它是'each.indexOf'。请更改它。
猜你喜欢
  • 1970-01-01
  • 2011-07-04
  • 2013-11-12
  • 2013-01-09
  • 2013-05-25
  • 2018-11-28
  • 2022-01-23
  • 2011-06-01
相关资源
最近更新 更多