【问题标题】:storing the values of foreach after every iteration using javascript使用javascript在每次迭代后存储foreach的值
【发布时间】:2018-11-29 17:07:03
【问题描述】:

我遍历一个数组以获取动态内容。但是,在进行 foreach 循环时,我无法删除重复值,因为每个数组元素都被考虑在内(我不能更改为 for 循环)。是否有任何解决方案可以删除重复值?我什至尝试在每次迭代后用不同的方法创建数组。但是,我只得到了最后一次迭代值。

forEach(( filteredItems ) => {
 filteredItems.languageCodes.forEach(( languageCode ) => {
 finalLanguage=languageCode;
arrayCreation(finalLanguage);             
                    })
                })

 function arrayCreation(finalLanguage){
                     langArray=[];
                    langArray.push(finalLanguage);
                    console.log("langArray", langArray);
                }

这是我的filteredItemsfilteredItems.languageCodes

谢谢!

【问题讨论】:

标签: javascript arrays loops foreach duplicates


【解决方案1】:

您可以改为使用 Set 来删除重复项。像这样的东西应该可以工作:

let set = new Set(array);
array = Array.from(set);

编辑

为了回答标题中的问题(对于那些基于此而来的用户),在每次迭代后存储值的一种方法是使用数组的reduce 方法。

reduce 采用 accumulator,它可能类似于 Array 或 Set(不过,map 可能比使用 Array 作为累加器更好)。

【讨论】:

    【解决方案2】:

    您可以使用 Lodash 删除数组中的重复项。

    看看这个: uniqBy

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 2021-06-01
      • 2019-04-24
      • 2023-03-13
      • 2018-09-01
      • 2021-05-27
      • 2016-11-05
      • 2022-06-10
      相关资源
      最近更新 更多