在每次迭代后使用javascript存储foreach的值

时间:2018-06-20 14:15:00

标签: javascript arrays loops foreach duplicates

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

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

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

这是我的filteredItemsfilteredItems.languageCodes

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用Set删除重复项。这样的事情应该起作用:

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

编辑

要回答标题中的问题(针对那些以此为依据的用户),一种在每次迭代后存储值的方法是使用Arrays的reduce方法。

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

答案 1 :(得分:0)

您可以使用Lodash删除阵列中的重复项。

看看这个: uniqBy