let KeywordFiltering = [\n { name: "名字", class: "username", data: [4, 5, 6] },\n { name: "文案", class: "Copywriting", data: [1, 2, 3] },\n { name: "全选", class: "selectall", data: [] }\n ]\n let Filtering = [\n { name: "名字", class: "username", data: [] },\n { name: "文案", class: "Copywriting", data: [] },\n { name: "标签", class: "Tag", data: [] },\n { name: "全选", class: "selectall", data: [] }\n ]\n if (!localStorage.getItem("KeywordData")) {\n localStorage.setItem("KeywordData", JSON.stringify(KeywordFiltering))\n } else {\n let i = JSON.parse(localStorage.getItem("KeywordData"))\n i = i.filter(item => item.data.length != 0)\n i = Filtering.map(item => {\n i.find(subItem => {\n if (subItem.name == item.name) {\n item = subItem\n console.log(item, subItem);\n }\n })\n return item\n })\n console.log(i);\n } 解释内容:这段代码的作用是检查本地存储中的关键字数据,并根据数据的情况处理过滤器。\n\n首先,定义了两个数组变量KeywordFilteringFiltering,分别表示关键字过滤器和过滤器。\n\n然后,通过判断本地存储中是否存在关键字数据来决定下一步的操作。如果不存在,则将KeywordFiltering数组转换为字符串并存储到本地存储中。\n\n如果存在关键字数据,则首先将本地存储中的数据解析为数组i。然后通过过滤器数组Filtering和关键字数据数组i进行匹配处理。\n\n在匹配处理过程中,首先使用filter方法过滤掉关键字数据数组中data为空的项。然后使用map方法遍历过滤器数组,对每个过滤器项进行匹配操作。\n\n在匹配操作中,使用find方法在关键字数据数组中找到与当前过滤器项名称相同的项。如果找到了匹配的项,则将该项赋值给当前过滤器项,并在控制台打印出匹配的项。\n\n最后,打印出处理后的过滤器数组i


原文地址: https://www.cveoy.top/t/topic/p57m 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录