jquery grep,使用regex进行fitlering

jquery grep, fitlering with regex

本文关键字:进行 fitlering regex 使用 grep jquery      更新时间:2023-09-26

我将以我对regex非常不好这句话开始这个问题。

说到这里,我想知道是否可以使用jquery$.grep过滤数组,将字符串与特定字符串匹配,比如这样:

 var a = ["ABC:12", "xx:ABC:2", "ASD:3", "xx:ASD:5"];
 var s = a.split(",");
 var array = $.grep(s, function(x, y) {
   return ??????;
 });

因此,在应用$.grep或任何其他可能有帮助的函数后,我将需要后面的":"ABC数,所以我的新数组将是:

array[12, 2];

有什么帮助吗???我真的很感激!

$.grep只选择满足筛选函数的数组元素。

您需要额外的步骤来$.map grepped数组中的所有数字。

var a = ["ABC:12", "xx:ABC:2", "ASD:3", "xx:ASD:5"];
var b = $.grep(a, function(item) {
    return item.indexOf("ABC:") >= 0;
});
var array = $.map(b, function(item) {
    return item.split(":").pop();
});

尝试

var a = ["ABC:12", "xx:ABC:2", "ASD:3", "xx:ASD:5"];
// map array ,
// test array items for "ABC" string ,
// filter `Number` in strings containing "ABC" ,
// return filtered Numbers , in newly mapped array
var s = $.map(a, function(n) {
  return (/ABC/.test(n) ? Number(n.split(":").filter(Number)) : null)
}); // [12, 2]