EJS中如何提取数组内所有image对象的tags字段全部非重复值
实现思路
- 第一步:初始化一个用于存储最终标签的容器,优先选择
Set结构(天生支持值去重,无需手动处理重复判断),也可使用普通数组作为存储容器。 - 第二步:遍历你的原始数据集合,逐个取出所有的image实体,不管原始数据是数组包裹image还是对象嵌套image结构,只要能拿到每个带
tags属性的image对象即可。 - 第三步:针对每个取出的image对象,遍历它内部的
tags数组,逐个获取每一个标签值。 - 第四步:将拿到的标签值存入提前准备的存储容器中:
- 若使用
Set作为容器,直接执行添加操作即可,重复的标签会被Set自动过滤 - 若使用普通数组作为容器,每次添加前先检查当前标签是否已经存在于数组中,仅当不存在时才执行添加操作
- 若使用
- 第五步:如果使用
Set存储,最后将其转换为数组格式,就能得到所有去重后的标签集合。
按照以上逻辑处理你给出的示例数据,最终输出结果为["Red", "Cars", "Blue", "Fridge"],符合你预期的去重要求。
内容的提问来源于stack exchange,提问作者Tom Vos
相关产品推荐
相关产品推荐

