數(shù)組的常用方法

數(shù)組常用的方法

  • 學(xué)習(xí)思路:通過(guò)四個(gè)維度
    • 方法的作用
    • 是否需要傳參
    • 是否有返回值
    • 原數(shù)組發(fā)生改變
  • 數(shù)組常用的方法

數(shù)組方法有:數(shù)組的增加,刪除,替換,拼接,數(shù)組轉(zhuǎn)字符串,數(shù)組翻轉(zhuǎn),克隆,截取,排序,遍歷

  var ary=["red","blue","green"]
  • 數(shù)組的增加
    -push()
    • 作用:給數(shù)組末尾增加一項(xiàng)
    • 參數(shù): 需要實(shí)參
    • 返回值:數(shù)組的長(zhǎng)度
    • 原數(shù)組發(fā)生改變
      let reg = ary.push("yellow");
      原數(shù)組:console.log(ary); //["red", "blue", "green","yellow"]
      返回值:console.log(reg);//4
    
  • unshift()

    • 作用:給數(shù)組開(kāi)頭增加一項(xiàng)
    • 參數(shù):需要實(shí)參
    • 返回值:數(shù)組的長(zhǎng)度
    • 原數(shù)組發(fā)生改變
      let reg = ary.unshift("yellow");
      原數(shù)組:console.log(ary); // ["yellow", "red", "blue", "green"]
      返回值:console.log(reg);//4
    
  • splice(index,0,要添加的內(nèi)容)

    • 作用:增加
    • 參數(shù):(索引,刪除0個(gè),要添加的內(nèi)容)
    • 返回值:[] 空數(shù)組
    • 原數(shù)組發(fā)生改變

    添加的時(shí)候是在索引的前面添加

      let reg = ary.splice(0,0,"紅色");
      //let reg = ary.splice(ary.length,0,"紅色");//給數(shù)組末尾添加
      原數(shù)組:console.log(ary);//["紅色", "red", "blue", "green"]
      返回值:console.log(reg);//[]
    
  • 數(shù)組的刪除
    -shift()
    • 作用:刪除數(shù)組開(kāi)頭一項(xiàng)
    • 參數(shù):不需要參數(shù)
    • 返回值:刪除的那一項(xiàng)
    • 原數(shù)組發(fā)生改變
      let reg = ary.shift();
      原數(shù)組:console.log(ary); // [ "blue", "green"]
      返回值:console.log(reg);//red
    
  • pop()
    • 作用:刪除數(shù)組末尾一項(xiàng)
    • 參數(shù):不需要參數(shù)
    • 返回值: 刪除的那一項(xiàng)
    • 原數(shù)組發(fā)生改變
      let reg = ary.pop();
      原數(shù)組:console.log(ary); // [ "red",blue"]
      返回值:console.log(reg);// green
    
  • splice(index,2)
    • 作用:在指定的索引開(kāi)始,刪除幾個(gè);
    • 參數(shù):(索引,刪除幾個(gè))
    • 返回值:將刪除的內(nèi)容以一個(gè)新數(shù)組的形式返回
    • 原數(shù)組發(fā)生改變
      let reg = ary.splice(0, 2);
      //let reg = ary.splice(ary.length-1,1);//刪除數(shù)組末尾一項(xiàng)
      原數(shù)組:console.log(ary);//["green"]
      返回值:console.log(reg);//["red", "blue"]
    
  • 數(shù)組的替換
    • splice(index,刪除幾個(gè),要替換的內(nèi)容)//刪除幾個(gè)不能為0,因?yàn)閯h除0個(gè)就是添加了
      • 作用:從指定的索引開(kāi)始,刪除幾個(gè),并替換我們要替換的內(nèi)容;splice(index,deleteCount,'aaa','hhh')
      • 參數(shù):三個(gè)參數(shù)
      • 返回值:被刪除的內(nèi)容以一個(gè)新數(shù)組的形式返回
      • 原數(shù)組發(fā)生改變
        let reg = ary.splice(0, 2,"黃色","粉色");
        原數(shù)組:console.log(ary);//["黃色", "粉色", "green"]
        返回值:console.log(reg);//["red", "blue"]
      
  • 數(shù)組的克隆
    • splice(0)
      • 作用:克隆,其實(shí)是刪除了原數(shù)組,而返回值是刪除的原來(lái)數(shù)組的內(nèi)容;
      • 參數(shù):參數(shù)為0
      • 返回值:將刪除的內(nèi)容以一個(gè)新數(shù)組的形式返回
      • 原數(shù)組發(fā)生改變
        let reg = ary.splice(0);
        原數(shù)組:console.log(ary);//[]
        返回值:console.log(reg);//["red", "blue", "green"]
      
    • concat()
      • 作用:克隆
      • 參數(shù):空
      • 返回值:將克隆的內(nèi)容以一個(gè)新數(shù)組返回
      • 原數(shù)組:不變
        let reg = ary.concat();
        原數(shù)組:console.log(ary);//["red", "blue", "green"]
        返回值:console.log(reg);//["red", "blue", "green"]
      
    • slice(為0或者空)
      • 作用:克隆
      • 參數(shù):為0或者空
      • 返回值:將克隆的內(nèi)容以一個(gè)新數(shù)組返回
      • 原數(shù)組:不變
        let reg = ary.slice();
        //let reg = ary.slice(0);
        原數(shù)組:console.log(ary);//["red", "blue", "green"]
        返回值:console.log(reg);//["red", "blue", "green"]
      
  • 數(shù)組的查找/截取
    • slice(n,m)
      • 作用:從索引n開(kāi)始查找到索引m,包括前不包括后
      • 參數(shù):兩個(gè)
      • 返回值: 查找到的內(nèi)容以一個(gè)新數(shù)組返回
      • 原數(shù)組不發(fā)生改變
        let reg = ary.slice(0,2);
        原數(shù)組:console.log(ary);//["red", "blue", "green"]
        返回值:console.log(reg);//["red", "blue"]
      

      面試題:找到數(shù)組中[n,m]項(xiàng)
      slice(n-1,m) // 第n項(xiàng)的索引是n-1,m的索引為m-1,但是slice包括前一項(xiàng)不包后括一項(xiàng),m-1+1

  • 數(shù)組的拼接
    • concat()
      • 作用: 拼接/克隆數(shù)組
      • 參數(shù):不確定,相拼接幾個(gè)就寫幾個(gè)數(shù)組名,也可以直接可以寫成數(shù)組形式
      • 返回值: 拼接成的新數(shù)組
      • 原數(shù)組不發(fā)生改變
        let reg = ary.concat("紅色","黃色");
        原數(shù)組:console.log(ary);//["red", "blue", "green"]
        返回值:console.log(reg);// ["red", "blue", "green", "紅色","黃色"]
      
       let ary1 = ["red", "blue", "紅色"];
       let reg = ary.concat(ary,ary1);
       原數(shù)組:console.log(ary);//["red", "blue", "green"]
       返回值:console.log(reg);// ["red", "blue", "green","red", "blue", "green", "紅色"]
      
  • 數(shù)組轉(zhuǎn)字符串
    • toString()
      • 作用:將數(shù)組轉(zhuǎn)為字符串,默認(rèn)以‘ ,’分割
      • 參數(shù):無(wú)
      • 返回值:以逗號(hào)分割的字符串
      • 原數(shù)組不發(fā)生改變
        let reg = ary.toString();
        console.log(ary);//["red", "blue", "green"]
        console.log(reg);// red,blue,green
        console.log(typeof reg);//string
      
    • join()
      • 作用:將數(shù)組轉(zhuǎn)為字符串
      • 參數(shù):分割形式
      • 返回值:以分割形式分割的字符串
      • 原數(shù)組不發(fā)生改變
        let reg = ary.join();
        console.log(ary);//["red", "blue", "green"]
        console.log(reg);// red,blue,green
        console.log(typeof reg);//string
      
        let reg = ary.join("+");
        console.log(ary);//["red", "blue", "green"]
        console.log(reg);// red+blue+green
        console.log(typeof reg);//string
      
  • 數(shù)組的翻轉(zhuǎn)
    • reverse()
      • 作用:數(shù)組翻轉(zhuǎn)
      • 參數(shù):無(wú)
      • 返回值:被翻轉(zhuǎn)后的數(shù)組
      • 原數(shù)組發(fā)生改變
        let ary = ["我", "是", "誰(shuí)"];
        let reg = ary.reverse();
        console.log(ary);//["誰(shuí)", "是", "我"]
        console.log(reg);// ["誰(shuí)", "是", "我"]
      
  • 數(shù)組排序
    • sort
        ary.sort(function(a,b){
            return b-a;//從大到小排序
            //return b-a;//從小到大排序
        })
      
  • 數(shù)組常用但不兼容的方法
    • indexOf()
      • 作用:查找內(nèi)容
      • 參數(shù):要查找的內(nèi)容
      • 返回值: 如果找到返回內(nèi)容對(duì)應(yīng)的索引,如果沒(méi)找到返回-1
      • 原數(shù)組不變
        let ary = ["我", "是", "誰(shuí)"];
        let reg = ary.indexOf("我");
        console.log(ary);//["誰(shuí)", "是", "我"]
        console.log(reg);// 0
      
        let ary = ["我", "是", "誰(shuí)"];
        let reg = ary.indexOf("去");
        console.log(ary);//["誰(shuí)", "是", "我"]
        console.log(reg);// -1
      
  • forEach(callback,thisArg)
    • 作用:用來(lái)遍歷數(shù)組
    • 參數(shù):兩個(gè),第一個(gè)是回調(diào)函數(shù),第二個(gè)是改變this的
    • 返回值: undefined 沒(méi)有返回值
    • 原數(shù)組不變
    var ary=[10,20,30,40];
    ary.forEach(function(item,index,input){
      
    })
    
  • map()
  • 和forEach用法一樣區(qū)別是map有返回值
  • 非數(shù)組方法
    • 給數(shù)組末尾添加

      • ary[arr.length]=xxx
          var ary=[1,2,3];
          ary[ary.length]=4;
          console.log(ary)//[1,2,3,4]
        
    • 刪除數(shù)組最后一項(xiàng)

      • ary.length--
      • ary.length-=1
      • ary.length=ary.length-1
    • 實(shí)現(xiàn)數(shù)組克隆

      • for循環(huán)
      var ary=[1,2,3];
      var ary1=[]
      for(var i=0; i<ary.length;i++){
        ary1.push(ary[i])
        
      }
      console.log(ary1)//[1,2,3]
    
最后編輯于
?著作權(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)容

  • 1. 關(guān)于數(shù)組的增項(xiàng)、修改、刪除 增加:向數(shù)組的末尾增加一項(xiàng) 返回值:6(新數(shù)組的長(zhǎng)度);原數(shù)組發(fā)生改變:[ 5,...
    嘿喵heyMeow閱讀 286評(píng)論 0 0
  • 不改變?cè)瓟?shù)組的方法: 1.indexOf() 和lastIndexOf() 1.1 indexOf() : 返回元...
    FrankWang0909閱讀 1,803評(píng)論 2 11
  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,666評(píng)論 0 4
  • 狂如颶風(fēng)橫掃六國(guó),灰飛煙滅。 狂如迅雷電閃隆隆,翻江倒海。 狂如悟空吹燈拔毛,大鬧天宮。 狂如許攸居功自傲,一命嗚呼。
    紅綠燈_86c0閱讀 232評(píng)論 0 0
  • iOS 最新版 CocoaPods 的安裝流程 1.移除現(xiàn)有Ruby默認(rèn)源 2.使用新的源 3.驗(yàn)證新源是否替換成...
    我是Python小白閱讀 311評(píng)論 0 1

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