无论如何,是否有返回“a”的方法;“未找到任何搜索”;用这个javascript?
下面是一个调用的函数,它从json文件返回匹配项。是否仍要返回未找到匹配项的文件无论如何,是否有返回“a”的方法;“未找到任何搜索”;用这个javascript?,javascript,Javascript,下面是一个调用的函数,它从json文件返回匹配项。是否仍要返回未找到匹配项的文件 function displayMatches() { const searchText = document.querySelector('.search').value; const matchArray = findMatches(searchText, name); const html = matchArray.map(place => { const regex = new
function displayMatches() {
const searchText = document.querySelector('.search').value;
const matchArray = findMatches(searchText, name);
const html = matchArray.map(place => {
const regex = new RegExp(searchText);
const nameName = place.name.replace(regex, `<span class="hl">${searchText}</span>`);
return `
<a href="${place.url}" target="_blank">
<li>
<span class="name">${nameName} <br> ${(place.price)}</span>
<img src="${place.imgurl}" alt="Drink Image" height="87.5" width="100">
</li>
</a>
`;
}).join('');
suggestions.innerHTML = html;
}
函数displayMatches(){
const searchText=document.querySelector('.search').value;
const matchArray=findMatches(搜索文本,名称);
常量html=matchArray.map(位置=>{
const regex=new RegExp(searchText);
const nameName=place.name.replace(regex,`${searchText}`);
返回`
`;
}).加入(“”);
suggestions.innerHTML=html;
}
如果找不到任何内容,.map
将返回一个空数组,因此您可以使用不同的字符串替换.join(“”)
:
}).join('') || 'No searches found';
或者在分配新HTML时执行此操作
suggestions.innerHTML = html || 'No searches found';
我会选择这样做:
。。。
const matchArray=findMatches(搜索文本,名称);
让html;
if(matchArray.length==0){
html='未找到匹配项';//或某些html等效项
}否则{
//从上面绘制地图
}
suggestions.innerHTML=html;
...
空数组将是真实的,因此您将始终短路。.join(“”)
ed空数组将是错误的。