數(shù)組常用的方法

數(shù)組的常用方法

   let arr=[]
   arr.push(1,2,3)
   console.log(arr)   //輸出結(jié)果為[1,2,3]

   arr.pop()
   console.log(arr)  //輸出結(jié)果為[1,2] 

   let arr1=[1,2,3]
   arr1.unshift(4,5)
   console.log(arr1) //輸出結(jié)果為 [4,5,1,2,3]
    
   arr1.shift()
   console.log(arr1)  //輸出結(jié)果為[5,1,2,3]
   

push:向末尾增加一項(xiàng),返回?cái)?shù)值是數(shù)組的新長(zhǎng)度
pop:刪除數(shù)組的末尾向,返回值是刪除數(shù)組的數(shù)組項(xiàng)
unshift:想數(shù)組的開(kāi)頭增加一項(xiàng),返回?cái)?shù)值是數(shù)組的新長(zhǎng)度
shift:刪除數(shù)組的開(kāi)頭第一項(xiàng),返回值是刪除數(shù)組的數(shù)組項(xiàng)
以上四種方法都改變?cè)瓟?shù)組。

slice

作用:字符串截取(復(fù)制數(shù)組)
參數(shù):arr.slice(start,end) start算本身,end最后一位不算
是否改變?cè)瓟?shù)組:不改變

   let arr=[1,2,3,4,5]
   arr.slice(0,2)   //輸出結(jié)果為[1,2]                

splice

作用:增、刪、改
參數(shù):arr.splice(index,homany,item...item10) index算本身,homay算本身
是否改變?cè)瓟?shù)組:改變

   let arr1=[1,2,3,4]
   //1.作用:添加
   arr1.splice(1,0,123,234)  //輸出結(jié)果為[1,123,234,2,3,4] 
   //2.作用:刪除
   arr1.splice(1,2)          //輸出結(jié)果為[1,4,5]
   // 3.作用:添加&&刪除
   arr1.splice(1,2,123,234)       //輸出結(jié)果為[1,123,234,4]    

join

作用: 用指定的分隔符將數(shù)組的每一項(xiàng)拼接成字符串
參數(shù):arr.join('-')
是否改變?cè)瓟?shù)組:不改變

     let arr=[1,2,3,4]
     let newArr=arr.join('-')
     console.log(newArr)   //輸出結(jié)果為‘1-2-3-4’

concat

作用:用于連接兩個(gè)或多個(gè)數(shù)組
參數(shù):參數(shù)可以是具體的值,也可以是數(shù)組對(duì)象,可以是任意多個(gè)
是否改變?cè)瓟?shù)組:不改變

    let arr=[1,2,3,4]
    arr.join('-')
    console.log(arr)   //輸出結(jié)果為‘1-2-3-4’   typeof arr 為字符串不是數(shù)組了

sort

作用:對(duì)數(shù)組元素進(jìn)行排序
參數(shù):arr.sort(function(a,b){return a-b})
是否改變?cè)瓟?shù)組:改變

    let arr=[1,9,5,7,3,5,2,9,8]
    arr.sort(function(a,b){
         return a-b  //從小到大   b-a從大到小
   })
   console.log(arr)  //輸出結(jié)果為[1,2,3,5,5,7,8,9,9]  

reverse

作用:倒敘數(shù)組
參數(shù):無(wú)
是否改變?cè)瓟?shù)組:改變

   let arr=[1,4,2,5,1,9]
   arr.reverse()
   console.log(arr)   //輸出結(jié)果為[9,1,5,2,4,1]     倒敘

indeOf

作用:查找指定元素的位置
參數(shù):arr.indexOf(item,start) //item檢查的值,start在哪里檢查一般不寫(xiě)
返回值:返回第一次找到的索引,未找到返回-1
是否改變?cè)瓟?shù)組:不改變

   let arr=[1,23,4325345,1231,]
   console.log(arr.indexOf(1231))   //輸出結(jié)果為3

lastIndexOf

作用:查找指定元素最后出現(xiàn)的位置
參數(shù):arr.indexOf(item,start) //item檢查的值,start在哪里檢查一般不寫(xiě)
返回值:返回第一次找到的索引,未找到返回-1
是否改變?cè)瓟?shù)組:不改變

    let arr=[1,1,1,1,1]
    arr.lastIndexOf(1)  //輸出結(jié)果為5

forEach

作用:循環(huán)遍歷數(shù)組每一項(xiàng)
參數(shù):函數(shù) ary.forEach(function(item,index,ary){}) item:每一項(xiàng) index:索引 ary:當(dāng)前數(shù)組
是否改變?cè)瓟?shù)組:不改變

    let arr=[1,1,2,3,4,5]
    arr.forEach(function(item,index,arr){
          console.log(item,index,arr)
          //1   0     [1,1,2,3,45]
          //1   2     [1,1,2,3,45]   .....以此類(lèi)推
   })

map

作用:數(shù)組中的元素為原始元素調(diào)用函數(shù)處理的值
參數(shù):ary.mp.map(function(item,index.ary){})
是否改變?cè)瓟?shù)組:不改變

    let arr=['a','b','c','d']
    let res=arr.map(function(item,index,ary){
                     item+1
              })
     console.log(res)  //輸出結(jié)果為 ['a1','b1','c1','d1']

filter

作用:創(chuàng)建一個(gè)新的數(shù)組,新數(shù)組中的元素是通過(guò)檢查指定指定數(shù)組中符合條件的所有元素
參數(shù):ary.filter(function(item,index,ary){})
是否改變?cè)瓟?shù)組:不改變

    let arr=[1,23,4,1,5,6,12,5,11]
    //我們要把這個(gè)數(shù)組里面大于10的找出來(lái)
    let res=arr.filter(function(item){
                    return item>10
                 })
   console.log(res)   //輸出結(jié)果為[23,12,11]

every

作用:檢查數(shù)組所有元素是否都符合指定調(diào)價(jià)
參數(shù):ary.every(function(item,index,ary){}) item:每一項(xiàng) index:索引 ary:當(dāng)前數(shù)組
是否改變?cè)瓟?shù)組:不改變

   let arr=[1,2,3,4,5,6]
   let res=arr.evry(function(item){
                     return item<4
                 })
   let res1=arr.evry(function(item){
                     return item<6
                 })
console.log(res)    //輸出結(jié)果為false
console.log(res1)  //輸出結(jié)果為true

some

作用:檢測(cè)數(shù)組中的元素是否滿(mǎn)足指定條件
參數(shù):函數(shù) ary.some(function(item,index,ary){}) item:每一項(xiàng) index:索引 ary:當(dāng)前數(shù)組
是否改變?cè)瓟?shù)組:不改變

   var ary = [1,2,3,4,5,6]
   var res = ary.some(function(item){
                     return item<3;
                 })
   console.log(res)  // 輸出結(jié)果為true;

Array.from()

作用:把偽數(shù)組轉(zhuǎn)成真正的數(shù)組
參數(shù):arr.from(偽數(shù)組)

    let json={
              '0': 'a',
             '1': 'b',
             '2': 'c',
            length:3
    } 
    //在Es5中我們是這樣轉(zhuǎn):
    var arr1=[].slice.call(json)   
    console.log(arr1)  //輸出結(jié)果為['a','b','c']
    //在Es6中我們新增了from命令
    let arr2=Array.from(json)
    console.log(arr2)     //輸出結(jié)果為['a','b','c']

Array.of()

作用:將一組值,轉(zhuǎn)換為數(shù)組
參數(shù):Array.of(1,23,3)

   let arr=Array.of(1,2,3)
   console.log(arr)   //輸出結(jié)果為[1,2,3]  
   //Array.of() 可以用下main代碼來(lái)模擬實(shí)線(xiàn):
   function ArrayOf(){
               return [].slice.call(arguments);
    }

copyWithin

作用:在當(dāng)前的數(shù)組,將指定的元素賦值到指定的位置(會(huì)覆蓋其他數(shù)值)
參數(shù):arr.copyWithin(target,start,end)
target從位置開(kāi)始替換數(shù)據(jù)
start在該位置讀取數(shù)據(jù)
end在該位置停止讀取數(shù)據(jù)
是否改變?cè)瓟?shù)組:改變

     let arr=[1,23,4,56,3]
     arr.coppyWithin(0,2)  
     console.log(arr)  //輸出結(jié)果為[4,56,3,56,3]

find

作用:用于找出第一個(gè)符合條件的元素
參數(shù):arr.find((item,index,arr)=>) item當(dāng)前的值,index當(dāng)前的索引值,arr當(dāng)前的數(shù)組

   let arr=[11,23,5,123]
   let res=arr.find(function(item,index){
                return item<10
            })
  console.log(res)   //5

findIndex

作用:返回第一個(gè)符合條件元素的位置
參數(shù):arr.find((item,index,arr)=>) item當(dāng)前的值,index當(dāng)前的索引值,arr當(dāng)前的數(shù)組

   let arr=[11,23,5,123]
   let res=arr.findIndex(function(item,index){
                return item<10
            })
    console.log(res)   //2

fill

作用:填充數(shù)組
參數(shù):arr.fill('con','start','ed')
是否改變?cè)瓟?shù)組:改變

   let arr=[1,23,45]
   arr.fill(2)
   console.log(arr)    //[2,2,2]
   arr.fill(2,1,2)
   console.log(arr)   // [1,2,45]

includes

作用:數(shù)組是否包含給定的值返回boolean值
參數(shù):arr.includes(target,start) target要找的值 start在這個(gè)位置找如果為負(fù)數(shù)那就是在最后往前找

    let arr=[1,2,34,56]
    let res=arr.includes(2)
   console.log(res)    //true 
   //他與indexOf的區(qū)別
   //indexOf 內(nèi)部使用嚴(yán)格等運(yùn)算符(====)那么就會(huì)導(dǎo)致NaN的誤判
    [NaN].indexOf(NaN)     //-1
    [NaN].includes(NaN)    //true
最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 一、數(shù)組的判斷 arr instance Array; Array.isArray(arr); 方法: 1. pu...
    你聽(tīng)cmy1994閱讀 389評(píng)論 0 0
  • 數(shù)組常用的方法 學(xué)習(xí)思路:通過(guò)四個(gè)維度方法的作用是否需要傳參是否有返回值原數(shù)組發(fā)生改變 數(shù)組常用的方法 數(shù)組方法有...
    warmT_閱讀 409評(píng)論 0 1
  • 1. 關(guān)于數(shù)組的增項(xiàng)、修改、刪除 增加:向數(shù)組的末尾增加一項(xiàng) 返回值:6(新數(shù)組的長(zhǎng)度);原數(shù)組發(fā)生改變:[ 5,...
    嘿喵heyMeow閱讀 286評(píng)論 0 0
  • 檢測(cè)數(shù)據(jù)類(lèi)型的四種方法 函數(shù)的基礎(chǔ)知識(shí) 函數(shù)由兩部分構(gòu)成函數(shù)定義階段函數(shù)調(diào)用階段函數(shù)只定義,不調(diào)用,什么都不會(huì)發(fā)生...
    Dream_丹丹閱讀 421評(píng)論 0 0
  • 文/月明紅紅 今天,在樓上聽(tīng)見(jiàn)了瑟瑟的風(fēng)聲,滿(mǎn)是驚喜的。因?yàn)榫褪窍M@一冬的寒冷,讓這久違的春風(fēng)給吹走吧。 已經(jīng)立...
    月明紅紅閱讀 410評(píng)論 25 58

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