1. 程式人生 > >第一頁 數組學習

第一頁 數組學習

clas .so index 函數作為參數 round tst 對數 裏的 所有

1、一維數組

  (1) var numbers = new Array(); (2)var numbers = new Array(7); (3) var numbers = new Array(1,2,3,4);

  var numbers = [0,1,2,3,4,5,6,7,8,9];

  添加數組的結尾:     numbers[numbers.length] = 10; (或者) numbers.push(11,12,13);

  將數值添加到數組的首端: numbers.unshift(-1,-2)
  刪除最後一個:      numbers.pop();

  刪除首端元素:      numbers.shift();

  刪除索引為2的位置開始的2個元素: numbers.splice(2, 2)   

  splice方法接收的第一個參數,表示想要刪除或插入的元素的索引值。第二個參數是刪除
元素的個數。第三個參數往後,就是要添
加到數組裏的值;例如: numbers.splice(5,0,2,3,4);這個就表示索引5的位置開始,刪除0個元素,然後在其後面插入2,3,4三個元素

* 在js中數組是沒有長度限制的,可以無限添加,但是在C和Java中定義數組的時候就要先定義數組的長度。
2、二維多維數組

       //二維數組
        var
array2 = []; for (var i = 0; i < 4; i++) { array2[i] = []; for (var j = 0; j < 4; j++) { array2[i][j] = i + j; } } console.log(array2); //三維數組 var matrix3x3x3 = []; for (var i = 0; i < 3; i++) { matrix3x3x3[i]
= []; for (var j = 0; j < 3; j++) { matrix3x3x3[i][j] = []; for (var z = 0; z < 3; z++) { matrix3x3x3[i][j][z] = i + j + z; } } } console.log(matrix3x3x3);

3、JavaScript 的數組方法參考
concat   連接2個或更多數組,並返回結果
every   對數組中的每一項運行給定函數,如果該函數對每一項都返回true,則返回true
filter   對數組中的每一項運行給定函數,返回該函數會返回true的項組成的數組
forEach   對數組中的每一項運行給定函數。這個方法沒有返回值
join   將所有的數組元素連接成一個字符串
indexOf   返回第一個與給定參數相等的數組元素的索引,沒有找到則返回-1
lastIndexOf   返回在數組中搜索到的與給定參數相等的元素的索引裏最大的值
map   對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組
reverse   顛倒數組中元素的順序,原先第一個元素現在變成最後一個,同樣原先的最後一個元素變成了現在
的第一個
slice   傳入索引值,將數組裏對應索引範圍內的元素作為新數組返回
some   對數組中的每一項運行給定函數,如果任一項返回true,則返回true
sort   按照字母順序對數組排序,支持傳入指定排序方法的函數作為參數
toString   將數組作為字符串返回
valueOf toString類似,將數組作為字符串返回

      //  數組合並 concat
        var zero = 0;
        var positiveNumbers = [1, 2, 3];
        var negativeNumbers = [-3, -2, -1];
        var numbers = negativeNumbers.concat(positiveNumbers);
        console.log(numbers)
   //every
        var isEven = function (x) {
            // 如果x是2的倍數,就返回true
         //   console.log(x);
            return (x % 2 == 0) ? true : false;
            // 也可以寫成return (x % 2 == 0) ? true : false
        };
        var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
        console.log(numbers.filter(isEven))
        //排序
        var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
         numbers.sort();
        console.log(numbers)//結果(15) [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]
     //sort方法在對數組做排序時,把元素默認成字符串進行相 互比較。
     
        //排序
        var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
      //  numbers.sort();
        numbers.sort(function (a, b) {
            return a - b;
        });
        function compare(a, b) {
            if (a < b) {
                return -1;
            }
            if (a > b) {
                return 1;
            }
            // a必須等於
            return 0;
        }
        numbers.sort(compare);
        console.log(numbers)//結果(15)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
   
  //搜索
        var numbers = [1, 2, 3, 4, 5, 6, 3,5,3,5,87,3];
        console.log(numbers.lastIndexOf(33))//從數組尾端開始查找匹配的  返回與其相同的值的索引  沒有匹配到返回-1
        console.log(numbers.indexOf(3))//從數組首端開始查找匹配的  返回與其相同的值的索引  沒有匹配到返回-1




  

第一頁 數組學習