Javascript 我尝试基于搜索输入和选择菜单过滤数组

Javascript 我尝试基于搜索输入和选择菜单过滤数组,javascript,filter,Javascript,Filter,我正在尝试使过滤器同时基于输入搜索和选择菜单。过滤器可用于选择和搜索,但如果我尝试marge,则不会输出任何错误,但过滤器不起作用 (zemlja.name.toLowerCase().indexOf(search) === 0) 若我从过滤器中删除此项,过滤器将用于选择菜单,但我想为搜索和选择设置一个过滤器 const selectFilter = zemlje.filter((zemlja) => { if ((zemlja.name.toLowerCase().indexO

我正在尝试使过滤器同时基于输入搜索和选择菜单。过滤器可用于选择和搜索,但如果我尝试marge,则不会输出任何错误,但过滤器不起作用

(zemlja.name.toLowerCase().indexOf(search) === 0)
若我从过滤器中删除此项,过滤器将用于选择菜单,但我想为搜索和选择设置一个过滤器

const selectFilter = zemlje.filter((zemlja) => {
    if ((zemlja.name.toLowerCase().indexOf(search) === 0) || (select === 'All') 
         || (zemlja.region === select)) return true;
});

我希望结果包含搜索字符串并通过筛选条件,这就是为什么我要使用
&&

const selectFilter = zemlje.filter((zemlja) => {
  const searchHit = (zemlja.name.toLowerCase().indexOf(search) === 0);
  const filterPass = ((select === 'All') || (zemlja.region === select));
  if ( searchHit && filterPass ) return true;
  return false;
});

.indexOf(search)==0
w旧的平均字符串以查询词开头。请尝试
.indexOf(search)>=0
,因为查询可能存在anywhere@Rajesh-或
.includes(search)
for.我试着不工作嘿,伙计,它的工作:)谢谢我花了一些时间,你真的帮了我