JS一趟循环消除一个数组里重复的元素

 var arr=[1,2,3,3,4,4,5,5,6,1,9,3,25,4];
         function deRepeat(){
             var newArr=[];
             var obj={};
             var index=0;
             var l=arr.length;
             for(var i=0;i<l;i++){
                 if(obj[arr[i]]==undefined)
                   {
                     obj[arr[i]]=1;
                     newArr[index++]=arr[i];
                   }
                 else if(obj[arr[i]]==1)
                   continue;
             }
             return newArr;

         }
         var newArr2=deRepeat(arr);
         alert(newArr2); //输出1,2,3,4,5,6,9,25
时间: 2024-07-30 05:13:39

JS一趟循环消除一个数组里重复的元素的相关文章

消除一个数组中重复的元素

使用JavaScript消除一个数组中重复的元素 var arr1 = [1,1,2,3,4,5,6,6,6,7],arr2 = []; for(var i=0;i<arr1.length;i++){ if(arr2.indexof(arr1[i] < 0){ arr2.push(arr1[i]); } } document.write(arr2); //1,2,3,4,5,6,7

如何消除一个数组里面重复的元素?

var arr=[1,2,3,3,4,4,5,5,6,1,9,3,25,4]; function deRepeat(){ var newArr=[]; var obj={}; var index=0; var l=arr.length; for(var i=0;i<l;i++){ if(obj[arr[i]]==undefined) { obj[arr[i]]=1; newArr[index++]=arr[i]; } else if(obj[arr[i]]==1) continue; } ret

MATLAB选出一个数组里n个元素的所有组合

用nchoosek(A,n) 如: nchoosek([1,5,3,2,4,0],3) nchoosek([1,5,3,2],2)ans =     1     5     1     3     1     2     5     3     5     2     3     2 如:

把一个vector里重复的元素给去掉

std::vector<int>& delRepeat(std::vector<int>& nVector) { std::set<int> nTemp(nVector.begin(),nVector.end()); nVector.clear(); for (std::set<int>::iterator nIterator = nTemp.begin();nIterator != nTemp.end();nIterator++) nVec

js删除数组里的某个元素

首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; }; 然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:代码为: Array.prototype.remove = function(v

计算一个数组里的重复值并且删去(java)

主要思想: 假设数字里的值都为正 循环判断数组 如果与前面的数字相同则变为-1 然后记录-1的个数算出重复值 然后重新new一个减去重复值长度的新数组 和原数组判断 不为-1的全部复制进来即可 代码如下: 1 package Del_Same_Num; 2 3 public class Del_Same_Num { 4 5 static int count=0; 6 7 //计算重复值 8 public static int count_same_number(int[] a) 9 { 10 f

【算法编程】循环右移一个数组

仅用一个辅助节点将一个大小为n数组循环右移k位的三种办法: 1.时间复杂度最大:将所有元素每次只移动一位,总共移动k次,程序实现十分容易,在此就不具体实现了. 2.时间复杂度适中:依次将每个元素都放到辅助节点上,然后将其储存到目的节点,具体程序如下: #include<iostream> using namespace std; int gcd(int x,int y); int main() { int n,k; cout<<"请输入数组的维数"<<

我的Java开发学习之旅------&gt;使用循环递归算法把数组里数据数组合全部列出

面试题如下:把一个数组里的数组合全部列出,比如1和2列出来为1,2,12,21. (面试题出自<Java程序员面试宝典>) 代码如下: import java.util.Arrays; import java.util.LinkedList; import java.util.List; /** * 把一个数组里的数组集合全部列出,比如1和2列出来为1,2,12,21 */ public class ListAll { public static void main(String[] args

JavaScript怎么把对象里的数据整合进另外一个数组里

https://blog.csdn.net/qq_26222859/article/details/70331833 var json1 = [ {"guoshui":[ 300000, 500000, 600000, 800000, 1000000, 1200000, 1400000, 1600000, 1800000, 1600000, 1400000, 1200000 ]}, {"dishui":[ 1100000, 1200100, 1300000, 110