我有一个包含多个数组的数组,我想要根据搜索栏中的子字符串来显示匹配的数组。
我的代码如下:
在第一部分(未展示)中,我从搜索栏获取值,并在其前添加一个空格(以便在未输入任何内容时显示所有数组)。
const Arrays = [
[
{ text: " first ", image: "1.jpg" },
" hello", " world", " ",
],
[
{ text: " second", image: "https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png" },
" goodbye", " world", " ",
],
[
{ text: " Salut", image: "bass.jpg" },
" Ca va", " au revoir", " ",
],
];
const showArrays = Arrays.filter(function (array) {
return array.includes(searchimp);
});
这是我的过滤函数,但它仅在searchimp
与子数组中的某个元素完全相同时生效。
其中 searchimp
是来自搜索栏的变量。
最后我还有一个函数(未展示),用于展示“showArrays”,并格式化每个数组的第一个元素以显示图片及其alt属性。
运行此代码时,当我输入“goodbye”时,它会返回第二个数组;但当我输入“goo”时,它不会返回任何结果。