使用带有通配符的jquery grep搜索对象数组
我正在使用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’之后使用’/’作为通配符)。
你可以在这里使用String.indexOf() , =
不能用于野生字符
var resultSet = $.grep(courses, function (e) { return e.code.indexOf('ENCH3TH') == 0; });
演示: 小提琴
或者使用正则表达式
var regex = /^ENCH3TH/ var resultSet = $.grep(courses, function (e) { return regex.test(e.code); });
演示: 小提琴
- Youtube iframe api检查video是否存在
- 如果我想让我的网站跨平台兼容和屏幕阅读器兼容,我应该避免使用javascript,jquery,flash,ajax,silverlight吗?