Javascript 在数组中找到精确的匹配数?

Javascript 在数组中找到精确的匹配数?,javascript,Javascript,检查数组为:[10项a、11项b、25项c] 现在我有一个数字,比如25,我想检查数组中是否有,然后返回该数组。 有效,但如果我测试1,它与10项匹配 那么我需要测试一个完整的数字匹配吗?或者解析数组字符串直到空格,然后测试是否精确匹配 for (var i=0; i < checkArray.length; i++) { var regexp = item; if ( checkArray[i].match(regexp)) { return c

检查数组为:[10项a、11项b、25项c]

现在我有一个数字,比如25,我想检查数组中是否有,然后返回该数组。
有效,但如果我测试1,它与10项匹配

那么我需要测试一个完整的数字匹配吗?或者解析数组字符串直到空格,然后测试是否精确匹配

for (var i=0; i < checkArray.length; i++) {

    var regexp = item;

    if ( checkArray[i].match(regexp)) {   
        return checkArray[i];
    }

    return false;
}
for(变量i=0;i
如果数组中字符串的格式是严格的,并且总是以数字开头,后跟空格,则相应地设置正则表达式:

var checkArray =  ["10 item a", "11 item b", "25 item c"];
var item = 10;    
var regexp = '^' + item + '\ ';

for (var i=0; i < checkArray.length; i++) {        
    if ( checkArray[i].match(regexp)) {   
        return checkArray[i];
    }    
}
var checkArray=[“10项a”,“11项b”,“25项c”];
风险价值项目=10;
var regexp='^'+item+'\';
对于(var i=0;i
假设您的数组包含的字符串格式始终相同,并且您可以使用ECMA5(尽管有垫片),那么您可能会这样做

Javascript

function hasElementStarting(array, number) {
    var val = false;

    array.some(function (element) {
        if(element.split(' ').shift() === number.toString()) {
            val = element;
        }

        return val;
    });

    return val;
}

var checkArray = ["10 item a", "11 item b", "25 item c"],
    item = 10;

console.log(hasElementStarting(checkArray, item));

上,您正在与正则表达式进行比较?为什么不使用
==
==
?根据情况,您可以将数组添加到代码中,还是将其全部放在一个小提琴中?需要知道您是否正在进行部分匹配、键入不安全比较等。如果您总是在开头有一个数字,后面跟着文本,您也可以只解析int,它会为您提取数字。var n=parseInt(“10项a”);控制台日志(n);迈克·切尔,工作得很好,非常感谢。:)很好,谢谢。请看上面。。。函数inaray2(checkArray,item){for(var i=0;i