如何将多关键词搜索得到的多个对象数组合并为一个大数组
多关键词搜索结果合并解决方案
完全可以通过合并test数组内的所有子数组实现需求,建议额外增加去重逻辑,避免同个图片匹配到多个关键词时出现重复展示的问题。
具体修改步骤
把原有代码中this.filteredImages = this.test[0];这一行替换为如下逻辑即可:
// 方法1:合并+去重(推荐,避免重复项) this.filteredImages = [...new Map( this.test.flat().map(item => [item.id, item]) ).values()]; // 方法2:仅合并不去重,如果业务允许重复展示可以直接用 // this.filteredImages = this.test.flat();
逻辑说明
Array.prototype.flat()会将二维结构的test数组拍平为一维,把所有关键词对应的搜索结果合并到同一个数组中- 去重逻辑基于计划的唯一id实现,也可以根据业务需要替换为
item.name作为去重依据 - 处理后的数组直接赋值给filteredImages即可渲染所有关键词对应的全部结果
内容的提问来源于stack exchange,提问作者Freder
相关产品推荐
相关产品推荐

