Javascript jQuery:查找字符串中的数组元素

2024-02-03

我认为我的问题相当简单,但我对 Javascript 不太有经验。我想做的是提取页面的源代码并将其全部粘贴到变量中:

var sourcecode = document.documentElement.innerHTML;

然后我有一个术语数组,我想在该变量中搜索它们:

var array = ['Huskers','Redskins','Texans','Rockets'];

我想将 0 分配给在数组中找不到的任何数组元素sourcecode变量和任何一个 1。因此,当搜索完成时,每个数组元素将由等于 1 或 0 的变量表示。任何人都可以给我一个提示,告诉我应该如何处理这个问题吗?

Thanks!


有点神秘,但可以满足您的需要:

var source = 'lorem hello foo bar world';
var words = ['hello','red','world','green'];

words = words.map(function(w){ return +!!~source.indexOf(w) });

console.log(words); //=> [1, 0, 1, 0]

+!!~转换返回值的布尔表示形式indexOf, 与...一样:

return source.indexOf(w) == -1 ? 0 : 1;

不过短了一点。

注意indexOf也匹配字符串中的字符串,如果你想匹配整个单词,你可以使用带有单词边界的正则表达式\b:

words = words.map(function(w) {
  return +new RegExp('\\b'+ w +'\\b','gi').test(source);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript jQuery:查找字符串中的数组元素 的相关文章

随机推荐