首页 > 解决方案 > 如何在 javascript 中搜索用户输入数组?

问题描述

我真的需要你的帮助

如何在 javascript 中搜索用户输入数组?

以下是数组脚本:

var items = [
            ["0001", "Roman", "Reading"],
            ["0002", "Ryan", Playing the Guitar "],
            ["0003", "Wiley", "Cooking"],
            ["0004", "Jack", "Gardening"]
        ]

你能给我一些html和javascript脚本的例子吗?谢谢您的帮助。

标签: javascriptarraysarraylist

解决方案


通常这种搜索会使用对象进行,但是因为您给了我们一个数组,所以这个函数从数组中搜索结果。

首先我们需要一个过滤字符串。然后我们遍历数组并检查字符串是否包含过滤字符串。如果它包含它,我们将结果推送到结果数组。

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>

推荐阅读