我有一个主题列表,我想搜索我的列表并返回有效的结果,但它是案例敏感的,并没有返回正确的结果
var subjects = [
{id: '1', name: 'Maths'},
{id: '2', name: 'English'},
{id: '3', name: 'Physics'}
];
var returnValue = { items: [] };
subjects.forEach(function(item){
if (item.name.indexOf(query) > -1 ){
returnValue.items.push(item);
}
else if (item.id.indexOf(query) > -1 ){
returnValue.items.push(item);
}
});
console.log(returnValue)
因此,例如,如果我输入文字' m',当它搜索主题列表时,它应该返回数学,但现在它返回nil但是如果我输入' M',然后它返回主题数学。
解决这个问题的任何帮助?非常感激。
答案 0 :(得分:1)
您始终可以将比较值转换为小写,然后进行比较。
ar subjects = [
{id: '1', name: 'Maths'},
{id: '2', name: 'English'},
{id: '3', name: 'Physics'}
];
var returnValue = { items: [] };
subjects.forEach(function(item){
var itemNameLower = item.name.toLowerCase();
var queryLower = query.toLowerCase();
if (itemNameLower.indexOf(queryLower) > -1 ){
returnValue.items.push(item);
}
else if (item.id.indexOf(queryLower) > -1 ){
returnValue.items.push(item);
}
});
console.log(returnValue)