javascript - 如何在 javascript 中搜索用户输入数组?
问题描述
我真的需要你的帮助
如何在 javascript 中搜索用户输入数组?
以下是数组脚本:
var items = [
["0001", "Roman", "Reading"],
["0002", "Ryan", Playing the Guitar "],
["0003", "Wiley", "Cooking"],
["0004", "Jack", "Gardening"]
]
你能给我一些html和javascript脚本的例子吗?谢谢您的帮助。
解决方案
通常这种搜索会使用对象进行,但是因为您给了我们一个数组,所以这个函数从数组中搜索结果。
首先我们需要一个过滤字符串。然后我们遍历数组并检查字符串是否包含过滤字符串。如果它包含它,我们将结果推送到结果数组。
JS
var items = [
["0001", "Roman", "Reading"],
["0002", "Ryan", "Playing the Guitar"],
["0003", "Wiley", "Cooking"],
["0004", "Jack", "Gardening"]
];
function handleSearch() {
var value = document.getElementById('searchValue').value;
var results = [];
if (value) {
items.forEach(item => {
item.forEach(itemString => {
if (itemString.toLowerCase().includes(value.toLowerCase())) {
results.push(`${value} found in ${itemString} in block ${item}`);
};
});
});
console.log(results);
}
}
HTML
<input id="searchValue"/>
<button onclick="handleSearch()">Search</button>
推荐阅读
- charts - 更改 Google 折线图中数据标签的顺序
- java - 从 Bouncy Castle 中的文本创建 RSA 公钥的问题
- qt - QImage::rgbSwapped() 函数工作很慢
- jquery - 未捕获的引用错误:$ajax 未在 HtlmInputElement 中定义。
- mysql - 如何避免由于滞后 b/w 主/从而导致重复?
- angular - *ngIf div 显示隐藏订阅 Firestore
- android-emulator - Android 模拟器未在 AMD Ryzen 处理器上运行(需要硬件加速)
- r - 使用条件语句更改表中值的颜色 (kableextra)
- c - 在 Tizen Native Wearable App (Samsung G3) 的模板中,我可以开始将代码放入哪一行
- javascript - 如何使用更新的 UI 格式化 Shiny 中的 numericInput?