數組方法詳解

js中提供了很多數組的操作方法,比如刪除,截取,排序等等,這些方法在平時做開發的過程中總會用到,所以今天做一個總結。

方法詳解

  • concat

    • 解釋
      數組拼接,返回一個新的數組,原有數組不變

    • ??

    let arr1 = [1, 2, 3]
    let arr2 = ['a', 'b', 'c']
    let concatArr = arr1.concat(arr2)
    console.log(arr1)
    console.log(arr2)
    console.log(concatArr)
    
    • 結果展示


      concat.png
  • join

    • 解釋
      數組轉化成字符串輸出,用特定字符分割,原數組不變

    • ??

    let arr = [1, 2, 3]
    let joinArr = arr.join('&')
    console.log(arr)
    console.log(joinArr)
    
    • 結果展示


      join.png
  • toString

    • 解釋
      把數組轉換為字符串,并返回結果,原數組不變

    • ??

    let arr = [1, 2, 3]
    let toStringArr = arr.toString()
    console.log(arr)
    console.log(toStringArr)
    
    • 結果展示


      toString.png
  • toLocaleString

    • 解釋
      把數組轉換為本地數組,并返回結果

    • ??

    let arr = [1, 2, 3, 4, 5]
    let toLocaleStringArr = arr.toLocaleString()
    console.log(arr)
    console.log(toLocaleStringArr)
    
    • 展示結果


      toString.png
  • sort

    • 解釋
      數組排序,返回排序后的數組,原數組改變

    • ??

    let arr = [1, 2, 3, 5, 0, 10, 15]
    let sortArr = arr.sort(function(a, b) {
      return a - b
    })
    console.log(arr)
    console.log(sortArr)
    
    • 結果展示


      sort.png
  • reverse

    • 解釋
      顛倒數組順序,原數組改變

    • ??

    let arr = [1, 2, 3]
    let reverseArr = arr.reverse()
    console.log(arr)
    console.log(reverseArr)
    
    • 結果展示


      reverse.png
  • pop

    • 解釋
      從數組后面刪除一項,返回刪除的數據,原數組改變

    • ??

    let arr = [1, 2, 3]
    let popArr = arr.pop()
    console.log(arr)
    console.log(popArr)
    
    • 結果展示


      pop.png
  • push

    • 解釋
      從數組后面添加,返回數組的長度,原數組改變
    • ??
    let arr = [1, 2, 3]
    let pushArr = arr.push(4)
    console.log(arr)
    console.log(pushArr)
    
    • 結果展示


      push.png
  • shift

    • 解釋
      從數組的前面刪除一項,返回被刪除的數據,原數組改變
    • ??
    let arr = [1, 2, 3]
    let shiftArr = arr.shift()
    console.log(arr)
    console.log(shiftArr)
    
    • 結果展示


      shift.png
  • unshift

    • 解釋
      從數組前面增加,返回數組的長度,原數組改變
    • ??
    let arr = [1, 2, 3]
    let unshiftArr = arr.unshift(0)
    console.log(arr)
    console.log(unshiftArr)
    
    • 結果展示


      unshift.png
  • slice

    • 解釋
      從某個已有的數組返回選定的元素,原數組不變slice(start[, end]) 原數組不變
    • ??
    // 只傳一個參數,默認截取到最后
    let arr = [1, 2, 3]
    let sliceArr = arr.slice(1)
    console.log(arr)
    console.log(sliceArr)
    
    • 結果展示


      slice 1.png
    // 傳2個參數,第一個表示開始位置,第二個表示結束位置,但不包含
    let arr = [1, 2, 3]
    let sliceArr = arr.slice(1, 1)
    console.log(arr)
    console.log(sliceArr)
    
    • 結果展示


      slice 2.png
    // 傳2個參數,第一個表示開始位置,第二個表示結束位置,但不包含
    let arr = [1, 2, 3]
    let sliceArr = arr.slice(1, 2)
    console.log(arr)
    console.log(sliceArr)
    
    • 結果展示


      slice 3.png
  • splice

    • 解釋
      刪除元素,并向數組添加新元素,返回刪除的部分,原數組改變splice(start[, number, item1, item2, …, itemN])
    • ??
    // 第一個參數開始刪除的位置,第二個參數表示要刪除的個數
    let arr = [1, 2, 3, 4, 5]
    let spliceArr = arr.splice(1, 3)
    console.log(arr)
    console.log(spliceArr)
    
    • 結果展示


      splice.png
    • ??

    // 第一個參數開始刪除的位置,第二個參數為空表示到最后
    let arr = [1, 2, 3, 4, 5]
    let spliceArr = arr.splice(1)
    console.log(arr)
    console.log(spliceArr)
    
    • 結果展示


      splice 1.png
    • ??

    // 第一個參數開始刪除的位置,第二個參數為刪除的個數,第三個參數為插入到該位置的新數據
    let arr = [1, 2, 3, 4, 5]
    let spliceArr = arr.splice(3, 1, 7)
    console.log(arr)
    console.log(spliceArr)
    
    • 結果展示


      splice 2.png

快速查詢列表

方法名 描述 是否改變原數組 返回值
concat 數組拼接 新的拼接后的數組
join 數組轉化成字符串 分割后的字符串
toString 數組轉化成字符串,并用逗號分隔 逗號分隔的字符串
toLocaleString 把數組轉換為本地數組 --
sort 數組排序 排序后的數組
reverse 顛倒數組順序 顛倒后的數組
pop 從數組后面刪除一項 刪除的數據
push 從數組后面添加一項 數組的長度
shift 從數組前面刪除一項 被刪除的數據
unshift 從數組前面添加一項 數組的長度
slice 從某個已有的數組返回選定的元素 選定的數組
splice 刪除元素,并向數組添加新元素 刪除的部分

相近方法對比

  • join(),toString()和toLocaleString()
    join可以定義分割符,而另外的方法是默認用逗號分隔的;
    toString和toLocalString的區別是什么呢?請參考http://blog.csdn.net/xufeiayang/article/details/52723550
  • slice()和splice()
    slice返回數組的指定部分,原數組不變。第一個參數為必填,表示開始的位置;第二個參數表示結束位置,但不包含end,或者可以不填寫,則默認截取到最后
    splice返回數組被刪除的部分,原數組會改變。第一個參數必填,表示開始刪除的開始位置,第二個參數表示要刪除的個數,后面的參數表示要添加到該位置的數據

想了解更多關于es6新增的數組方法請點擊這里

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 由于最近都在freecodecamp上刷代碼,運用了很多JavaScript數組的方法,因此做了一份關于JavaS...
    2bc5f46e925b閱讀 2,016評論 0 16
  • Javascript有很多數組的方法,有的人有W3C的API,還可以去MDN上去找,但是我覺得API上說的不全,M...
    頑皮的雪狐七七閱讀 4,210評論 0 6
  • 數組是我們在js中常常要用到的,但是你真的熟悉數組的方法嗎?今天我就總結一下Array對象具有哪些方法。 聲明數組...
    hk_sky閱讀 1,766評論 0 2
  • 數組的定義 數組是按序號排列的一組值,每個值的位置都有編號(從0開始)。數組本質上是一種特殊的對象。它的鍵名是按(...
    Allin_Lin閱讀 578評論 0 0
  • 晚上睡在一層薄薄的棉布上,身旁的另一側躺著他。林子里的夜太安靜了,安靜到露水的聲音里,還夾著他安靜的喘息。睡不慣硬...
    兀長閱讀 147評論 0 2