Javascript 如何从数组中删除所有相同的元素?

Javascript 如何从数组中删除所有相同的元素?,javascript,arrays,Javascript,Arrays,如果发生以下情况,如何从数组中删除所有相同的元素 我有样品 var-arr=[1,1,1,2,3,4,5,6,7] 我需要这样的数组 [2,3,4,5,6,7] 我正在用这个 var chotch = 0; for(var i = 0; i < text1_arr.length; i++) { if(word1_reg.test(text1_arr[i])) { text1_arr.splice(i, 1); chotch++; if(ne

如果发生以下情况,如何从数组中删除所有相同的元素 我有样品
var-arr=[1,1,1,2,3,4,5,6,7]
我需要这样的数组
[2,3,4,5,6,7]
我正在用这个

var chotch = 0;
for(var i = 0; i < text1_arr.length; i++) {
    if(word1_reg.test(text1_arr[i])) {
       text1_arr.splice(i, 1);
       chotch++;
       if(needCount === chotch) {
          break;
       }
     } else {
        continue;
     }
 }
var-chotch=0;
对于(变量i=0;i
您可以在数组中迭代,并使用use和检查它只存在一次的每个项。如果是,则将其添加到结果数组中

var arr = [1,1,1,2,3,4,5,6,7];

var result = [];
for (var i = 0; i < arr.length; i++) {
   if (arr.indexOf(arr[i]) === arr.lastIndexOf(arr[i])) {
       result.push(arr[i]);
   }
}
var-arr=[1,1,1,2,3,4,5,6,7];
var结果=[];
对于(变量i=0;i
下面的代码只返回只出现一次的数组元素

ES6解决方案

var arr=[1,1,1,2,2,3,4,5];
(功能清洁IT(arr){
var arr2=arr.filter((v,i)=>arr.indexOf(v)!=i);
var newArr=arr.filter(v=>!arr2.includes(v));
控制台日志(newArr);
log(`Elements deleted:${arr.length-newArr.length}`);

})(arr)此策略消除了任何可以找到2次的元素

const arr=[1,1,1,2,3,4,5,6,7];
常量uniqs=a=>a.filter(e=>a.slice(a.indexOf(e)+1.indexOf(e)=-1);

控制台日志(uniqs(arr))您在尝试回答自己的问题时编写了哪些代码?最好是编写代码并粘贴到这里,让人们看到您尝试了什么,而不仅仅是询问答案。要澄清的是,删除所有相同的元素时,您不想保留原始副本吗?因此,如果您看到一个元素的多个副本,您想完全删除该元素吗?我的答案中有您需要的所有内容。晚安。它也可以工作,但是这里有很多代码。向上投票。我必须删除并每次计数,例如var chotch=0;对于(var i=0;iarr.length-result.length
)。要从原始数组中删除它们,只需替换它
arr=result@David不清楚这个代码和你的问题有什么关系。如果你能清楚地说明你想做什么,以及什么是
text1\u arr
word1\u reg
needCount
,那就更好了。。等等,效果很好。如果您添加它的ES5版本,它将是完美的。仅供参考,该功能不符合ES5。@AhmadIbrahim True。非常感谢。
var arr = [1,1,1,2,3,4,5,6,7];

var result = [];
for (var i = 0; i < arr.length; i++) {
   if (arr.indexOf(arr[i]) === arr.lastIndexOf(arr[i])) {
       result.push(arr[i]);
   }
}