Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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 - Fatal编程技术网

Javascript 对象如何删除重复项?

Javascript 对象如何删除重复项?,javascript,Javascript,我是面向对象编码的新手。我在练习时发现了这个例子 它令人困惑;每当我们将数组传递给函数时,它都会删除重复项 我想知道复制的值在哪里,它们是如何消失的,以及它是如何对数组进行排序的 谁能给我详细解释一下。我不熟悉面向对象的概念 功能复制{ 变量i,len=阵列长度, obj={}; 对于i=0;i

我是面向对象编码的新手。我在练习时发现了这个例子

它令人困惑;每当我们将数组传递给函数时,它都会删除重复项

我想知道复制的值在哪里,它们是如何消失的,以及它是如何对数组进行排序的

谁能给我详细解释一下。我不熟悉面向对象的概念

功能复制{ 变量i,len=阵列长度, obj={}; 对于i=0;i//结果:{0:0,1:0,2:0,3:0,4:0,10:0,100:0,-1:0}这是一种非常奇怪的方法,但我对代码进行了注释,使其更易于理解

功能复制{ //声明变量 变量i,len=阵列长度, obj={}; //对于数组中的每个项 对于i=0;iconsole.logduplicate[1,2,3,4,4,3,2,1,0,-1,10,100]对象始终具有唯一键,此函数的作用是将每个数组值设置为对象的键,每次向对象添加新键时,如果之前存在新键,则会覆盖上一个键。这就是为什么在对象中看不到任何重复键的原因。不过,代码并不有趣。如果它对重复进行计数,而不是仅仅将它们设置为0,那么它会更聪明。上面的代码应该使用映射或过滤器。即使只是一个数组indexOf也会更像这个函数deduplicationarr{var out=[];对于i=0,len=arr.length;i