Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除所有重复的数组元素,只留下单个值?_Javascript_Arrays - Fatal编程技术网

Javascript 如何删除所有重复的数组元素,只留下单个值?

Javascript 如何删除所有重复的数组元素,只留下单个值?,javascript,arrays,Javascript,Arrays,如何仅存储单个值的元素 例如: >['a','b','c','d','e','b','a','d']//这个 >['c','e']//到这个 有人可以帮我吗?您可以比较元素的第一个索引和最后一个索引,并根据这些索引筛选数组 常量数据=['a','b','c','d','e','b','a','d']; const result=data.filterelement=>data.indexOfelement===data.lastIndexOfelement 控制台。logresult简单算法方

如何仅存储单个值的元素

例如:

>['a','b','c','d','e','b','a','d']//这个 >['c','e']//到这个
有人可以帮我吗?

您可以比较元素的第一个索引和最后一个索引,并根据这些索引筛选数组

常量数据=['a','b','c','d','e','b','a','d']; const result=data.filterelement=>data.indexOfelement===data.lastIndexOfelement 控制台。logresult简单算法方法:

在第一次迭代中,每个元素的计数存储为键值对。键是实际元素,计数是值

如果元素已经在对象中,我们增加它的计数,否则我们存储它的计数为1

在第二次迭代中,我们将计数正好为1的所有元素推送到一个新数组中

变量a=['a','b','c','d','e','b','a','d'] var repeating={}; a、 地图=>{ 如果在重复中{ 重复[]+=1; }否则{ 重复[z]=1; } } 设非重复=[]; forvar键在重复中{ 如果重复[key]==1{ 非重复。按键; } } console.lognonRepeating使用reduce和filter的解决方案

变量数据=['a'、'b'、'c'、'd'、'e'、'b'、'a'、'd'] 设map=data.reducea,c=>a[c]=a[c]| | 0+1,a,{}, res=Object.keysmap.filtere=>map[e]==1;
console.logs一些内联文档的可能副本在这里会有很大的帮助。这不是完全直观的代码。