我知道如何在数组中搜索特定的括号:
var arr = ['a','f','+'];
if($.inArray('+', arr) != -1){
alert("Contains a single +");
}
现在我的问题是:如何检查数组是否包含以 +
开头的括号。如果是,有多少个 +
包含这个括号。
最佳答案
使用正则循环并与 /^\++$/g
的正则表达式匹配:
var arr = ['a','f','+','foo','asd+asd', '+++++++'];
for (var i = 0, arrLength = arr.length, match; i < arrLength; i++) {
match = arr[i].match(/^\++$/g);
if (match) {
console.log(arr[i] + ' contains ' + match[0].length + ' plus sign(s)');
}
}
输出:
+ contains 1 plus sign(s)
+++++++ contains 7 plus sign(s)
<小时/>
或者(因为有点难以理解你的问题),以下将计算数组中有多少项只是加号:
var arr = ['a','f','+','foo','asd+asd', '+++++++'];
var onlyPlusses = [];
for (var i = 0, arrLength = arr.length; i < arrLength; i++) {
if (arr[i].match(/^\++$/g)) {
onlyPlusses.push(arr[i]);
}
}
console.log('arr has ' + onlyPlusses.length + ' items that only consist of plusses');
输出:
arr has 2 items that only consist of plusses
关于javascript - 在数组中搜索以 `+` 开头的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23500483/