數組 - Javascript語法基礎 - Javascript核心

原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Array.htmlhtml

源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/JavaScript_Core/JavaScript_Basics/Array.mdgit

  • 本文有缺陷,須要修訂和改進
  • 本文存在批註,但該網站的Markdown編輯器不支持,因此沒法正常展現,請到原文參考。

數組

建立數組

  • 數組字面量 var a = [1, 2, 3];
  • 使用構造函數 var a = new Array();

數組本質上是object(type of [ ] == 'object');github

因此要判斷是否是數組,須要經過判斷constructor。數組

[].constructor//Array編輯器

數組長度

使用length屬性獲取元素的個數。
數組的length屬性是可寫的。當length屬性小於元素個數時,數組中索引值大於length屬性的元素會被刪掉。函數

數組元素的添加和刪除

  • push 從數組尾部添加
  • unshift 從數組頭部添加
  • pop 從尾部彈出
  • shift 從頭部彈出

數組方法

  • join 將數組中全部元素轉換成字符串並鏈接在一塊兒
  • reverse 將數組中成員顛倒排序
  • sort 將數組元素排序,能夠指定一個排序函數
  • contact 將數組鏈接起來
  • slice 返回指定數組的一個片斷或子數組
  • splice 從數組中插入或刪除元素網站

    var a = [1, 2, 3, 4];
    var b = a.splice(1,2);//a = 1,4,b = 2,3code

ECMAScript 5中的數組新方法

  • forEach 從頭至尾遍歷數組,爲每一個元素調用制定的函數
  • map 把數組的每一個元素傳給指定的函數,並返回一個數組。htm

    var a = [1, 2, 3];
    var b = a.map(function(x) {
    return x*x;
    }); //b = [1,4,9]對象

  • filter 把數組的每一個元素傳給指定的函數,經過函數返回的布爾值決定是否在返回數組中添加該元素

    var a = [1, 2, 3];
    var b = a.filter(function(x){
    return x % 2 !== 0;
    });//b = [1, 3]

  • every 把數組的每一個元素傳給指定的函數,若是所有調用返回true則every函數返回true

  • some 把數組的每一個元素傳給指定的函數,若是有調用返回true則every函數返回true
  • reduce 用指定的函數對數組進行組合,生成單個值

    var a = [1, 2, 3];
    var b = a.reduce(function(x, y){
    return x + y;
    }, 0); //b = 6;

  • indexOf/lastIndexOf在整個數組中搜索制定的元素

類數組對象

經過爲對象增長length自增的特性或者其餘特性,能夠生成一個‘類數組對象’,能夠經過length進行遍歷。例如函數的Arguments對象就是這樣

相關文章
相關標籤/搜索