首頁 >web前端 >js教程 >js中數組的應用以及數組去重的四種方法介紹(程式碼)

js中數組的應用以及數組去重的四種方法介紹(程式碼)

不言
不言原創
2018-08-23 14:26:351979瀏覽

這篇文章帶給大家的內容是關於js中陣列的應用以及陣列去重的四種方法介紹(程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

1.輸入n,輸出n行對稱的數字組成金字塔:

function output(n) {
    for(let i=0;i<=n;i++){        
    let k=0;        
    var a=[];        
    for(let j=1;j<=2*i-1;j++){            
    if(j<=i){
               a.push(++k);
            }else{
               a.push(--k);
            } 
        }
        console.log(a)
    }
}

2.陣列去重
方法一:遍歷陣列法

// 最简单数组去重法 
function unique1(array){ 
var n = []; //一个新的临时数组 
//遍历当前数组 
for(var i = 0; i < array.length; i++){ 
//如果当前数组的第i已经保存进了临时数组,那么跳过, 
//否则把当前项push到临时数组里面 
if (n.indexOf(array[i]) == -1) 
n.push(array[i]); 
} 
return n; 
}

方法二:陣列下標判斷法

function unique3(array){ var n = [array[0]]; //结果数组 
//从第二项开始遍历 
for(var i = 1; i < array.length; i++) { 
//如果当前数组的第i项在当前数组中第一次出现的位置不是i, 
//那么表示第i项是重复的,忽略掉。否则存入结果数组 
if (array.indexOf(array[i]) == i) 
n.push(array[i]); 
} 
return n; 
}

方法三:最佳化遍歷陣列法

// 思路:获取没重复的最右一值放入新数组 
function unique5(array){ 
var r = []; 
for(var i = 0, l = array.length; i < l; i++) { 
 for(var j = i + 1; j < l; j++) 
  if (array[i] === array[j]) 
  j = ++i; 
 r.push(array[i]); 
 } 
 return r; 
}

方法四:遍歷陣列

function unique(array){
    var a=[];    
    for(var i=0;i<array.length;i++){        
    var flag=0;        
    for(var j=0;j<a.length;j++){            
    if(array[i] == a[j])            
    var flag=1;
        }        
        if(flag==0){
           a.push(array[i]); 
        } 
    }    return a;
}

相關推薦:

js中變數宣告以及函數宣告提升的詳細解析(附範例)

js檔案的非同步載入的方法總結(附程式碼)

以上是js中數組的應用以及數組去重的四種方法介紹(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn