數(shù)組方法

構(gòu)建數(shù)組

   var colors = new Array();

   指定數(shù)組的大小
    
    var colors = new Array(20);

    或者指定數(shù)組里面的內(nèi)容

    var colors = new Array("red", "blue","green");

    length可以刪除/添加末尾的元素
    var colors = ["red", "yellow", "green"];
    colors.length = 2;  // 此時(shí)green就被刪除了

檢測(cè)數(shù)組

    1、instanceof  instanceof用于判斷一個(gè)變量是否是某個(gè)對(duì)象的實(shí)例

      var a = [1,2,3,5];
      a instanceof Array; // 輸出為true

  2、Array.isArray(a);  // true

  3、 利用constructor 
      a instanceof Array;  //true
      a.constructor == Array; // true

4、Object.prototype.toString.call(a);
  // 輸出 "[object Array]"

棧方法

         push()方法可以接受任意數(shù)量的參數(shù),把它們逐個(gè)添加到數(shù)組末尾,并返回修改后數(shù)組的長(zhǎng)度
         pop()方法可以從數(shù)組末尾移除最后一項(xiàng),減少數(shù)組的length值,然后返回移除項(xiàng)

        // 注意注意 高能高能  push是返回修改后數(shù)組的長(zhǎng)度   pop是返回移除的項(xiàng)       棧---后進(jìn)先出,從菊花進(jìn)入從菊花輸出

隊(duì)列方法

    push() ...
    shift() 方法從數(shù)組中獲取第一項(xiàng),移除第一項(xiàng)以后并返回該項(xiàng),同時(shí)數(shù)組長(zhǎng)度減1

    // 隊(duì)列----先進(jìn)先出    從菊花進(jìn)入,從嘴巴輸出  好惡心。。。。。。。。。。

  另外 unshift 是可以在數(shù)組前端添加項(xiàng)  利用pop和unshift 可以反向模擬隊(duì)列

重排序方法

    reverse() 數(shù)組反轉(zhuǎn)
    
    sort()  排序 傳入一個(gè)function作為參數(shù)
    該函數(shù)接受兩個(gè)參數(shù) 如果第一個(gè)參數(shù)應(yīng)該位于第二個(gè)參數(shù)之前則返回一個(gè)負(fù)數(shù)
    如果兩個(gè)參數(shù)相等則返回0
    如果第一個(gè)參數(shù)應(yīng)該位于第二個(gè)參數(shù)之后則返回一個(gè)正數(shù)

操作方法

   1、 concat()  數(shù)組拼接      -------- 淺拷貝
    var colors = ["red", "green", "blue"];
    colors.concat("yellow", ["black", "brown"]); // 返回的是一個(gè)新數(shù)組

     2、slice()    數(shù)組切割
     接受一個(gè)或兩個(gè)參數(shù),第一個(gè)參數(shù)返回從該參數(shù)指定位置開始到當(dāng)前數(shù)組末尾的所有項(xiàng),如果有兩個(gè)參數(shù),表示返回起始和結(jié)束位置之間的項(xiàng) (不包括結(jié)束位置的項(xiàng))

    3、最強(qiáng)大的數(shù)組方法 splice

                --  刪除
                -- 插入
                -- 替換

  有三個(gè)參數(shù)  

              -- 第一個(gè)參數(shù) 表示 要?jiǎng)h除的位置  index
              -- 第二個(gè)參數(shù)   要?jiǎng)h除的個(gè)數(shù)  length
              -- 第三個(gè)參數(shù)-第N個(gè)參數(shù) (可選)用于替換或者刪除

// 返回的是被刪除的數(shù)組

var colors = ["red", "green", "blue"];
//   刪除
var remove = colors.splice(0,1);
// 增加數(shù)組
colors.splice(1, 0, "yellow", "orange");

// 替換
colors.splice(1,1,"red", "orange");

位置方法

 1、indexOf 查找某個(gè)數(shù)在數(shù)組中的位置,沒有就返回-1  array.indexOf(number);
 2、lastIndexOf 從數(shù)組的末尾開始向前查找

迭代方法

    迭代方法需要傳入一個(gè)函數(shù)作為參數(shù),這個(gè)函數(shù)有三個(gè)參數(shù) item, index, array   //item是數(shù)組的項(xiàng),index是位置,array是數(shù)組的本身
   
  ---  every() // 比較每一項(xiàng),如果每一項(xiàng)都符合就返回true
  -- filter() // 比較每一項(xiàng),返回該函數(shù)會(huì)返回true的項(xiàng)組成的數(shù)組
  -- forEach() // 給數(shù)組中的每一項(xiàng)指定函數(shù)
  -- map()  //對(duì)數(shù)組中每一項(xiàng)指定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組
  -- some() // 只要任一項(xiàng)目為true就返回true  --為啥不直接用indexOf呢

遞歸方法

-- reduce() // 傳入一個(gè)函數(shù) 函數(shù)有四個(gè)參數(shù)  prev, cur, index, array  -- 前一項(xiàng),當(dāng)前項(xiàng),位置, 當(dāng)前數(shù)組
    數(shù)組從前往后
-- reduceRight() // 數(shù)組從后往前 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容