checkArray是:[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;
}
答案 0 :(得分:1)
如果数组中字符串的格式是严格的,并且它始终以数字后跟空格开头,那么相应地设置你的正则表达式:
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];
}
}
答案 1 :(得分:0)
假设您的数组包含始终格式相同且可以使用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));
上