javascript數組小記

幾乎全部的編程語言都原生支持數組類型,由於數組是最簡單的內存數據結構。
它存儲一系列同一種數據類型的值,可是在javascript裏能夠在數組裏保存不一樣類型的值,可是咱們最好仍是要遵照最佳實踐,不要那麼作。javascript

  • 建立和初始化,javascript聲明,建立和初始化數組都很簡單,就像下面這樣:
    var array = new Array();

var array = new Array(7); //建立長度爲7的數組
var array = new Array('item1','item2','item3');
以上是使用new關鍵字來建立數組,可是這並非最好的方式,最經常使用的數組建立方式只要 用一個[]就能夠了。以下所示:java

var array = [];
var array = ['item1','item2','item3'];
  • 添加和刪除元素
    var numbers = [1,2,3,4,5,6,7,8,9];
    numbers.push(10);//把元素添加到末尾
    numbers.unshift(11);//把元素添加到首位
    numbers.pop();//刪除最後一位元素
    numbers.shift();//刪除第一位元素
    numbers.splice(5,3);//刪除從數組索引5開始的三個元素(numbers裏的6,7,8三個元素被刪除掉),需求中經常須要刪除指定的元素,可求出該元素索引值後spleic(x,1)
    number.splice(5,0,2,3,4);//從索引是5的元素開始刪除0個元素,而後吧2,3,4三個元素添加到索引是5的元素後面
  • 合併數組
    numbers.concat(num1,num2)//num1,num2被合併到numbers中
  • 數組迭代
    every,filter,foreach,some,map這幾個方法均可接受一個函數做爲參數。
    如:number.every(function(number){編程

    console.log('----every number----',numbrt);
    })

    every遍歷數組中每一個元素,遇到使函數返回值爲false的元素,every執行結束;
    some與every相反,遇到使函數返回值爲true的h元素會執行結束;
    forEach會迭代全部元素,與使用for循環的效果相同;
    map和filter方法都很會返回一個新數組,不一樣的map會返回全部元素遍歷後的結果,filter只返回結果爲true的結果;數組

  • 搜索和排序
    numbers.reverse()//倒序
    numbers.sort()//此方法對數組作排序時,把元素默認成字符串進行相互比較,咱們能夠傳人本身的比較函數,因此能夠這樣寫:
    numbers.sort(function(a,b){數據結構

    return a-b;
       });

    這段代碼當b大於a時,會返回負數,反之則返回正數,若是相等的話就會返回0.返回負數時說明a比b小,這樣sort就會根據返回值狀況給數組作排序。
    indexof方法返回與參數匹配的第一個元素的索引,lastIndexOf返回與參數匹配的最後一個元素索引。
    ES6中提供了兩個新的方法find()和findIndex()。它們的參數是一個回調函數,全部數組成員依次執行該回調函數,直到找出第一個返回值爲true的成員,而後find()方法會返回該成員,findIndex()返回該成員的位置。編程語言

  • 輸出數組爲字符串
    numbers.toString()//全部元素輸出爲一個字符串

numbers.join(',')//全部元素用,隔開,輸出爲一個字符串函數

相關文章
相關標籤/搜索