企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
## 排序 ``` var a =[5,6,8,50,7,15,18,,7,25,33,15] ``` 方法一: ``` var a =[5,6,8,50,7,15,18,25] for(var i=0;i<a.length;i++){ for(var j=i+1;j<a.length;j++){ if(a[i]>a[j]){ var temp; temp=a[i]; a[i]=a[j]; a[j]=temp; } } } ``` 方法二: ``` a.sort(function(i,j){ return i-j; }) ``` ## 找出数组中的偶数 方法一: ``` var temp=[]; for(var i=0;i<a.length;i++){ if(a[i]%2==0){ temp.push(a[i]) } } ``` 方法二: ``` var b=a.filter(x=>(x%2==0)) console.log(b) ``` ## 把数组颠倒 方法一: ``` a.reverse(); ``` 方法二: ``` for (var i=0;i<a.lenght/2;i++){ var temp=a[i]; a[i]=a[a.length-i-1]; a[a.length-i-1]=temp; } ``` ## 去重 #### **一、排序后相邻去除法** * 给传入数组排序,排序后相同值相邻, * 然后遍历时,新数组只加入不与前一值重复的值。 * 会打乱原来数组的顺序 ~~~ var array=[1,1,2,2,3,4,5] function uniq(array){ array.sort(); var temp=[array[0]]; for(var i = 1; i < array.length; i++){ if( array[i] !== temp[temp.length-1]){ temp.push(array[i]); } } return temp; } console.log(uniq(array)//1,2,3,4,5 ~~~ #### **二、双重循环法** ~~~ function uniq(array) { var temp = []; var index = []; var l = array.length; for (var i = 0; i < l; i++) { for (var j = i + 1; j < l; j++) { if (array[i] === array[j]) { i++; j = i; } } temp.push(array[i]); index.push(i); } console.log(index); return temp; } var aa = [1, 2, 2, 3, 5, 3, 6, 5]; console.log(uniq(aa)); ~~~ #### **三、include方法** ``` var arr=[2,2,6,4,1,5,8,4]; var temp=[] arr.forEach(element=>{ if(!temp.includes(element)){ temp.push(element) } }); console.log(temp) ``` #### **四、set** ``` var arr=[2,2,6,4,1,5,8,4]; console.log([...new Set(arr)]) ``` #### **方法五** ``` var arr=[2,2,3,3,4,8,6]; var test=[]; var obj={}; arr.forEach(ele=>{ if(!obj[ele]){ obj[ele]='a'; test.push(ele); } }) console.log(test)//2,3,4,8,6 console.log(obj)//{2:"a",3:"a",4:"a",6:"a",8:"a"} ```