Javascript 过滤/消除重复变量

Javascript 过滤/消除重复变量,javascript,arrays,Javascript,Arrays,我正在尝试向JS脚本中添加功能,以消除返回的值的重复。我的原稿如下: 试一试{ var productList=dataLayer.basket.products.mapfunctionproduct{ 返回产品.travelType; }; 返回产品列表。加入“|”; } catcherr{}要筛选数组中的重复项,请执行以下操作: 常量数组=['toto'、'tata'、'tutu'、'toto']; 常量filteredArray=[…新的Setarray]; console.logfi

我正在尝试向JS脚本中添加功能,以消除返回的值的重复。我的原稿如下:

试一试{ var productList=dataLayer.basket.products.mapfunctionproduct{ 返回产品.travelType; }; 返回产品列表。加入“|”; }
catcherr{}要筛选数组中的重复项,请执行以下操作:

常量数组=['toto'、'tata'、'tutu'、'toto']; 常量filteredArray=[…新的Setarray]; console.logfilteredArray const remove_duplicates=arr=>{ 设setArr=newsetarr; 让值=setArr.values; 返回Array.fromvalues; } const-example=[‘公共汽车’、‘公共汽车’、‘汽车’、‘自行车’]; console.logremove_DuplicateSample.join'|' 我认为你要寻找的正是这个问题的答案。只需将其应用于productList,它就可以消除所有重复的值


编辑:哎呀,我刚才看到你已经在做这个了。但是您的代码应该是这样工作的,我刚刚在控制台中进行了尝试,结果正如预期的那样工作。空值必须是由程序的其他部分引起的。

您的代码很好,错误必须出现在您的数据中或未发布的代码的其他部分中:

常量数据层={ 篮子:{产品:[ {travelType:'a'}, {travelType:'b'}, {travelType:'c'}, {travelType:'b'}, {travelType:'c'}, {travelType:'a'}, ]} } var productList=dataLayer.basket.products.mapfunctionproduct{ 返回产品.travelType; }; var filteredArray=productList.filterfunctionitem,pos{ 返回productList.indexOfitem==位置; };
console.logfilteredArray.join'|' 使用现代javascript:

let arr = ['Bus', 'Bus', 'Train', 'Car', 'Bus'];
let filteredArr= [... new Set(arr)]; 
let result = filteredArr.join('|');

您有一个return语句,但没有它的上下文-这都在函数中吗?查看返回空值的整个函数会很有帮助。