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]);
}
}