JavaScript 數組及冒泡排序

來源:互聯網
上載者:User

標籤:字串   strong   java   取值   alert   長度   順序   stat   括弧   

數組的定義方法:JS裡數組可以理解為一種資料的組合,在JS裡可以存多種類型的東西。

三種定義方式 設定陣列變數名為arr。

1. var arr = Array();或var arr = new Array();

2. var arr = Array(‘a‘,‘b‘,‘c‘); 存入了字串

3. var arr =[‘a‘,‘b‘,‘c‘];

對其賦值方式,以var arr = Array();為例

var arr = Array();

arr[0] = ‘a‘ ;

arr[1] = ‘b‘ ;

arr[2] = 999;

中括弧內等於一個KEY,後面的就是其對應的值。

 

數組單個取值方式:以上面的設定為條件

alert(arr[2]);   可以直接取出他的值

 

數組遍曆:用for迴圈可以遍曆

arr.push(‘666‘);    ←  .push(‘666‘); 單詞帶括弧是針對對象的方法

alert(arr.length);  ← .lengh是變數arr這個對象的屬性,屬性名稱是長度

第一種遍曆方法: 存的字串取值不顯示

for(var i=0;i<arr.length;i++){

    alert(arr[i]);

}

第二種遍曆方法:存的字串取值可以顯示

for(var i in arr) {

    alert(arr[i]);

}

 

遍曆查詢:

var arr = [1,2,3,4,5,6,7,8]

var x = parseInt(prompt(‘請輸入查詢內容‘));

var status = 1;

for(var i = 0;i<arr.length;i++){      ←i是索引值,從0開始

    if(arr[i] == x)

    {

       alert(i);

       break;

    }

}

 

 

 

 

變數交換:把兩個變數的值互換

變數交換必須有一個臨時的定義temp,不需要賦值

 

    var a = 1;

    var b = 2;

    var temp;

   

    temp = a;     先把a放到臨時的temp裡

    a = b;        再把b放入a內

    b = temp;     最後把temp裡的a放入b,從而達到ab內的值互換

 

冒泡排序:打亂順序的數字進行從小到大排序的運行方式

設定數組

var arr = [3, 2, 5, 1, 4];

 

第一輪比對,從第一個數字本身開始(本身索引位置是0)跟第二個數字進行比對,並且挨個跟後面的數字迴圈比對

0

for(var j = 1; j < arr.length; j++) {

    if(arr[0] > arr[j]) {          ←自身索引位置數值大於J的索引值進行交換

       var temp;

       temp = arr[0];

       arr[0] = arr[j];

       arr[j] = temp;

    }

}

 

第二輪比對,從第二個數字本身開始(索引位置是1)跟第三個數字進行比對,並且挨個跟後面的數字迴圈比對

1

for(var j = 2; j < arr.length; j++) {

    if(arr[1] > arr[j]) {

       var temp;

       temp = arr[1];

       arr[1] = arr[j];

       arr[j] = temp;

    }

}

 

第三輪比對,從第三個數字本身開始(索引位置是2)跟第四個數字進行比對,並且挨個跟後面的數字迴圈比對

 

2

for(var j = 3; j < arr.length; j++) {

    if(arr[2] > arr[j]) {

       var temp;

       temp = arr[2];

       arr[2] = arr[j];

       arr[j] = temp;

    }

}

 

得出方式結論:

i是索引值,從自身0開始,而且小於長度,然後遞增

J是需要比對的數字,他是從i後面開始進行比對的

 

for(var i = 0; i < arr.length; i++) {

    for(var j = i+1; j < arr.length; j++) {

       if(arr[i] > arr[j]) {

           var temp;

           temp = arr[i];

           arr[i] = arr[j];

           arr[j] = temp;

       }

    }

}

 

得出公式後最後按順序輸出即可

 

for(var x in arr){

    alert(arr[x]);

}

JavaScript 數組及冒泡排序

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.