Javascript 搜索数组以显示html中的列表
我有一个数组,包含下面的一些项目,我的目标是能够使用搜索栏搜索一个或多个与关键字匹配的项目,然后生成html中匹配产品的列表以显示它们Javascript 搜索数组以显示html中的列表,javascript,html,list,Javascript,Html,List,我有一个数组,包含下面的一些项目,我的目标是能够使用搜索栏搜索一个或多个与关键字匹配的项目,然后生成html中匹配产品的列表以显示它们 const catalog = { "Ipad": { "name": "Ipad", "key": "ipad", "keywords": ["tablet", "apple"], "price": 800 }, "Iphone"
const catalog = {
"Ipad": {
"name": "Ipad",
"key": "ipad",
"keywords": ["tablet", "apple"],
"price": 800
},
"Iphone": {
"name": "Iphone",
"key": "iphone",
"keywords": ["apple", "phone"],
"price": 1200
},
"GalaxyTablet": {
"name": "GalaxyTablet",
"key": "galaxytablet",
"keywords": ["galaxy", "tablet", "samsung"],
"price": 800
},
"GalaxyPhone": {
"name": "GalaxyPhone",
"key": "galaxyphone",
"keywords": ["galaxy", "phone", "samsung"],
"price": 1000
},
"HTCPhone": {
"name": "HTCPhone",
"key": "htcphone",
"keywords": ["htc", "phone"],
"price": 650
},
"SonyPhone": {
"name": "SonyPhone",
"key": "sonyphone",
"keywords": ["sony", "phone"],
"price": 850
},
"WindowsPhone": {
"name": "WindowsPhone",
"key": "windowsphone",
"keywords": ["phone", "windows"],
"price": 800
},
};
您需要迭代数据中的每个对象,并按搜索关键字将其过滤掉,如下面的代码所示 常量目录={ Ipad:{ 名称:Ipad, 关键词:ipad, 关键词:[平板电脑,苹果], 价格:800 }, Iphone:{ 名称:Iphone, 关键词:iphone, 关键词:[苹果,手机], 价格:1200 }, 丙氧基片:{ 名称:加氧片, 关键词:加氧片, 关键词:[银河、平板电脑、三星], 价格:800 }, GalaxyPhone:{ 姓名:GalaxyPhone, 键:galaxyphone, 关键词:[银河,手机,三星], 价格:1000 }, HTCPhone:{ 姓名:HTCPhone, 键:htcphone, 关键词:[htc,电话], 售价:650 }, 索尼电话:{ 姓名:SonyPhone, 键:sonyphone, 关键词:[索尼,手机], 售价:850 }, WindowsPhone:{ 姓名:WindowsPhone, 键:windowsphone, 关键词:[手机,windows], 价格:800 }, }; const searchKeyword='apple'; 常量最终结果=[] 对于目录中的常量项{ const obj=目录[项目]; 如果obj.keywords.indexofsearch关键字!=-1{ finalResult.pushobj; } }
console.logfinalResult;这不是数组,而是对象。还有,搜索栏中的输入是什么?我会使用一个关键字来搜索,并与对象列表中包含的内容进行匹配