如果值包含数组中的一个或多个
If value contains one or more from array
我正在尝试显示项目列表...
项目 A项目 B项目 C项目 D
我可以告诉代码不显示任何包含 A 的项目,如下所示:
exclusions = new Array("A")
if (v.value.indexOf(exclusions) > -1) {
}
else {
DO SOMETHING
}
我陷入困境的地方是,如果我希望它排除多个,如下所示:
exclusions = new Array("A", "B")
if (v.value.indexOf(exclusions) > -1) {
}
else {
DO SOMETHING
}
一种方法是使用正则表达式。
var matches = "there is a boy".match(/[ab]/);
if (matches === null) {
// neither a nor b was present
}
如果您需要从字符串构造正则表达式,您可以像
var matches = "there is a boy".match(new RegExp("[ab]"));
如果你有一个像['a', 'b']
这样的字符串数组,那么你需要做类似的事情
var pattern = yourArray.join('');
var regex = new RexExp(pattern);
在这里,我们构造一个模式的字符串,然后基于该模式创建一个新的正则表达式。
以伪代码方式回答:
exclusions = new Array("A", "B");
exclusion_found = false;
for (int i=0; i< exclusions.length; i++) {
if (v.value.indexOf(exclusions[i]) > -1) {
exclusion_found = true;
break;
}
}
if (!exclusion_found) {
DO SOMETHING
}
这是使用 indexOf
的不同方式,利用 Array#every
[MDN]:
var val = v.value;
if(exclusions.every(function(x) { return val.indexOf(x) === -1 })) {
// val does not contain any string in `exclusions`
}
相关文章:
- Angular js-返回一个包含类似
- 如何创建一个包含许多数组和数据的json对象
- jQuery.load()是另一个包含prism.js的页面
- 在Django中,可以在视图中创建一个包含js的变量,然后在循环模板标记中使用它
- 在Knockout js中创建一个包含多行的表,而不需要推送
- 使用video-js构建一个包含字符串的HTML视频
- 如何使用d3.layout.cloud.js创建一个包含单词及其权重的csv的单词云
- 如何使用Typescript创建一个包含对象的字段的新对象
- 从chrome扩展创建一个包含POST数据的链接
- Javascript:如何制作一个包含4个具有相同属性的对象的数组
- JS函数返回一个包含对象的数组
- 编写一个包含一个大写字母和六个数字的javascript表达式
- 我正在从API提取一个包含视频的Object标签.如何在javascript中暂停视频
- 我该如何在Rails中使下拉列表重定向到另一个包含特定信息的页面
- 如何对姓氏进行排序,格式化电话号码,并返回一个包含对象数组值的字符串
- 创建一个包含复选框的下拉列表
- 使用requirejs加载一个包含多个类的文件(grunt-concat)
- JSON编码一个包含#和其他特殊字符的字符串
- 使用ajax提交一个包含未知数量字段的html表单
- 如何执行一个包含更多 HREF 地址的链接属性