这是一个调用的函数,它从 json 文件返回匹配项。无论如何要返回未找到匹配项?
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;
}
最佳答案
如果没有找到任何内容,.map
将返回一个空数组,因此您可以将 .join('')
替换为不同的字符串:
}).join('') || 'No searches found';
或者在分配新的 HTML 时做
suggestions.innerHTML = html || 'No searches found';
关于javascript - 反正有没有用这个javascript返回 "no searches found"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59596207/