數組去重

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<script>
    // 目的:去掉數組中的重複項
/* var arr1 = [1,2,3,4,5,4,2,3,4,8,6,7,5,9,7,5,3,6,7,8];
    //第一種方法
    // 1.建立一個空數組保存去重後的新數組
    var arr2 = [];
    // 2.循環遍歷
    for ( var i = 0; i < arr1.length; i++ ) {
        // 取出原數組arr1中每一項,用indexof判斷新數組中是否存在,若是index判斷的值爲-1,說明新數組中沒有此項,添加到新數組中,若index不爲-1,說明新數組中有此項,不作任何操做
        if ( arr2.indexOf(arr1[i]) === -1 ) {
            arr2.push(arr1[i])
        } 
    }
    console.log(arr2);  */
// 第二種方法 // var arr1 = [1,2,3,4,5,4,2,3,4,8,6,7,5,9,7,5,3,6,7,8]; // // 1.建立一個空數組保存去重後的新數組 建立一個對象用來判斷是不是重複項 // var arr2 = []; // var obj = {}; // // 2.循環遍歷 // for ( var i = 0; i < arr1.length; i++ ) { // //對象中若是沒有此項就在對象中添加此項,並在新數組中添加;若是對象中有此項說明此項重複,不作任何操做 // if ( !obj[arr1[i]] ) { // obj[arr1[i]] = 1; // arr2.push(arr1[i]) // } // } // console.log(arr2); // 第三種方法 // 循環遍歷 // var arr1 = [1,2,3,4,5,4,2,3,4,8,6,7,5,9,7,5,3,6,7,8]; // for ( var i = 0; i < arr1.length; i++ ) { // // 若是index和lastindex的值相等,說明此項爲數組中惟一項,不然刪除此項 // if ( arr1.indexOf(arr1[i]) !== arr1.lastIndexOf(arr1[i]) ) { // //刪除重複項, 爲能保證全部項都遍歷到全部索引減1 // arr1.splice(i, 1); // i--; // } // } // console.log(arr1); // // 第四種方法 // var arr1 = [1,2,3,4,5,4,2,3,4,8,6,7,5,9,7,5,3,6,7,8]; // //建立一個新的數組 // var arr2 = []; // //先將原數組排序 // arr1.sort(function(a,b){return a-b}); // //對arr1循環遍歷 並與新數組arr2的最後一項比較 若是不一樣則添加到arr2中 // for(var i = 0; i < arr1.length; i++){ // if(arr1[i] !== arr2[arr2.length - 1]){ // arr2.push(arr1[i]) // } // } // console.log(arr2); // //第五種方法 // var arr = [1,2,3,4,5,4,2,3,4,8,6,7,5,9,7,5,3,6,7,8]; // var arr1 = []; //定義一個接收數組 // for(var i = 0; i < arr.length; i++){ // var flag = true; //假設成立如今沒有重複的數組 // for(var j = 0; j < arr1.length; j++){ // if(arr[ i ] == arr1[ j ]){ //每次循環都讓arr[i]和arr1的每項作對比 // flag = false; //若是相等 條件改成false; // } // } // if( flag ) { //斷定條件 假如沒有重複元素 就像arr1的最後一項添加新值, // arr1.push(arr[ i ]); // } // } // console.log(arr1) // //數組去重 第六種方法 // var arr = [1,2,3,4,5,4,2,3,4,8,6,7,5,9,7,5,3,6,7,8]; // //循環遍歷arr // for (var i = 0; i < arr.length; i++) { // //定義一個變量儲存arr[i]的值; // var temp = arr[i]; // //arr[0]的值已經保存,讓這個值依次與後面的元素作對比 // for (var j = i + 1; j < arr.length; j++) { // if (temp == arr[j]) { // //若是存儲的temp和後面相應的arr[j]的值相等就刪除j索引的重複值 // arr.splice(j, 1) // //注意由於刪除了j位置索引 so後位索引所有前移,這時循環j的索引會跳過一位與以後的值作對比。 刪除j後須要將j作減一操做;恢復檢測索引 // j--; // } // } // } // console.log(arr); // // 第七種方法 // var arr = [1,2,3,4,5,4,2,3,4,8,6,7,5,9,7,5,3,6,7,8]; // //建立一個新的數組用來存放數據 // var arr2 = []; // for (var i = 0; i < arr.length; i++) { // // index能夠找到每一項第一次出現的位置 若是索引i等於數值arr[i]第一次出現的說明此項第一次出現 // if (arr.indexOf(arr[i]) == i) { // arr2.push(arr[i]); // } // } // console.log(arr2); </script> </body> </html>

 冒泡排序:html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <script>
      var num = [22, 3, 33, 44, 55, 66, 332, 2, 1, 4, 6, 7, 8]
      for (var hang = 0; hang < num.length; hang++) {
        for (var tang = 1; tang < num.length - hang; tang++) {
          if (num[tang] < num[tang - 1]) {
            var temp = num[tang - 1]
            num[tang - 1] = num[tang]
            num[tang] = temp
          }
        }
      }
      console.log(num)
    </script>
  </body>
</html>
相關文章
相關標籤/搜索