javascript - 在数组中搜索以 `+` 开头的括号

标签 javascript jquery arrays

我知道如何在数组中搜索特定的括号:

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/

相关文章:

java - 字符数组Java

Javascript 二进制字符串,转十六进制,转base58,转回十六进制,转回字符串,随机错误

jquery - 如何将水平的 Div 相互关联,以便当一个垂直增长时,一个 "associated"的 Div 也随之垂直增长?

python - 区分 numpy 数组的基本和高级切片

javascript - jquery 插件和一个点击按钮

javascript - 如何使用 Javascript/JQuery 在悬停时设置缩略图背景?

arrays - 按接近度将数字数组划分为集合

javascript - 为什么 JavaScript 代码无法在 codepen.io 中运行

javascript - 使用javascript以序列格式排列div

javascript - 我使用了 HTML + JAVAScript,但我只能看到 JAVAScript