【问题标题】:Searching array of objects using jquery grep with wildcards使用带有通配符的 jquery grep 搜索对象数组
【发布时间】:2023-04-03 05:25:01
【问题描述】:

我正在使用 jquery grep 搜索一组对象,并希望在搜索中包含通配符。例如,我有一个数组如下:

courses = [
{code: 'ENCH3TH', otherFields: otherStuff},
{code: 'ENCH3THHS1', otherFields: otherStuff},
{code: 'ENCH3TH2', otherFields: otherStuff},
{code: 'ENCH4RT', otherFields: otherStuff},
{code: 'ENCH4MT', otherFields: otherStuff}]

我想获取所有带有 ENCH3TH 前缀的课程。我试过了

var resultSet = $.grep(courses, function(e){ return e.code == 'ENCH3TH/'; });

..无济于事(注意在“ENCH3TH”之后使用“/”作为通配符)。

【问题讨论】:

  • / 是什么语言的通配符?

标签: jquery arrays search object grep


【解决方案1】:

您可以在此处使用String.indexOf()= 不适用于野生字符

var resultSet = $.grep(courses, function (e) {
    return e.code.indexOf('ENCH3TH') == 0;
});

演示:Fiddle

或者使用正则表达式

var regex = /^ENCH3TH/
var resultSet = $.grep(courses, function (e) {
    return regex.test(e.code);
});

演示:Fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    相关资源
    最近更新 更多