查找类似字符串的JQuery数组的所有值

查找类似字符串的JQuery数组的所有值,jquery,arrays,Jquery,Arrays,我试图过滤一个数组,并使用JQuery查找与字符串类似的所有值 假设字符串 str = "01.01" 值数组 arr = ["01.03","01.01.01","02.01","01.01.02", "01.01"] 在比较JQuery中的字符串和值数组时,如何仅过滤以下值 "01.01", "01.01.01", "01.01.02" 逻辑是查找所有以“str”值开头的值 查找以“str”值开头的所有值 使用Array.prototype.filter()和String.protot

我试图过滤一个数组,并使用JQuery查找与字符串类似的所有值

假设字符串

str = "01.01"
值数组

arr = ["01.03","01.01.01","02.01","01.01.02", "01.01"]
在比较JQuery中的字符串和值数组时,如何仅过滤以下值

"01.01", "01.01.01", "01.01.02"
逻辑是查找所有以“str”值开头的值

查找以“str”值开头的所有值

使用
Array.prototype.filter()和
String.prototype.indexOf()
函数的简单解决方案:

var str=“01.01”,
arr=[“01.03”、“01.01.01”、“02.01”、“01.01.02”、“01.01”],
已过滤=arr.filter(函数){
返回s.indexOf(str)==0;
});

console.log(过滤)您可以使用
Array.prototype.filter()
方法:

var str=“01.01”,
arr=[“01.03”、“01.01.01”、“02.01”、“01.01.02”、“01.01”];
var newArr=arr.filter(函数(val){
返回值indexOf(str)!=-1;
});

控制台日志(newArr)使用数组.filter
函数,如下所示:

function matchString(value) {
    return value.indexOf("01.01") == 0;
}

var filtered = [ "01.03","01.01.01","02.01","01.01.02", "01.01" ].filter(matchString);

+如果我使用JQuery.inArray(),我将只能找到匹配的值,但不能找到与该字符串匹配/开始的所有值。如果(jQuery.inArray(str,arr)>=0{这也将返回
“这个字符串,它不符合要求01.01”
“01.01”、“01.01.01”、“01.01.02”
,我想这是期望值,它会这样做。@Andreas。或者我遗漏了什么?用我在上面的评论中提到的字符串测试你的解决方案。