JavaScript 數組操做方法彙總

javaScript裏很是重要的一個知識點,就是數據的操做,也就是增刪改查,說到增刪改查,那就要說說數組的操做了,由於大部分狀況下,後臺返回的數據都是數組,因此我來總結一下一些數組操做的方法,若有遺漏,後續補充:javascript

1 arr.push() 從後面添加元素,返回值爲添加完後的數組的長度java

let arr = [1,2,3,4,5]
console.log(arr.push(5))   // 6
console.log(arr) // [1,2,3,4,5,5]

2 arr.pop() 從後面刪除元素,只能是一個,返回值是刪除的元素es6

let arr = [1,2,3,4,5]
console.log(arr.pop())     // 5
console.log(arr)  //[1,2,3,4]

3 arr.shift() 從前面刪除元素,只能刪除一個 返回值是刪除的元素數組

let arr = [1,2,3,4,5]
console.log(arr.shift())  // 1
console.log(arr)   // [2,3,4,5]

4 arr.unshift() 從前面添加元素, 返回值是添加完後的數組的長度prototype

let arr = [1,2,3,4,5]
console.log(arr.unshift(2))    // 6
console.log(arr)  //[2,1,2,3,4,5]

5 arr.splice(i,n,replace) 刪除從i(索引值)開始以後的那個元素。返回值是刪除的元素
  參數:code

      i :索引值     排序

      n :刪除的個數     索引

      replace(能夠沒有,沒有的話只作刪除操做):替換的元素ip

let arr = [1,2,3,4,5]
console.log(arr.splice(1,2,'a','b'))   //[3,4]    
console.log(arr)    // [1,2,'a','b',5]

6 arr.concat() 鏈接兩個數組 返回值爲鏈接後的新數組字符串

let arr = [1,2,3,4,5]
console.log(arr.concat([1,2]))  // [1,2,3,4,5,1,2]
console.log(arr)   // [1,2,3,4,5]

7 str.split() 將字符串轉化爲數組

let str = '123456'
console.log(str.split('')) // ["1", "2", "3", "4", "5", "6"]

8 arr.sort() 將數組進行排序,返回值是排好的數組,默認是按照最左邊的數字進行排序,不是按照數字大小排序的,見例子。

let arr = [2,12,8,1,4,27,3]
console.log(arr.sort())   // [1, 12, 2, 27, 3, 4, 8]
var arr = [2,12,8,1,4,27,3];
    function sequence(a,b){
        if (a>b) {
             return 1;
        }else if(a<b){
            return -1
         }else{
             return 0;
         }
     }
console.log(arr.sort(sequence));

9 arr.reverse() 將數組反轉,返回值是反轉後的數組

let arr = [1,2,3,4,5]
console.log(arr.reverse())    // [5,4,3,2,1]
console.log(arr)    // [5,4,3,2,1]

10 arr.slice(start,end) 切去索引值start到索引值end的數組,不包含end索引的值,返回值是切出來的數組

let arr = [1,2,3,4,5]
console.log(arr.slice(1,3))   // [2,3]
console.log(arr)    //  [1,2,3,4,5]

11 arr.filter(callback) 過濾數組,返回一個知足要求的數組

var a=[1,2,3,4,5,6,7,8]
  var b =  a.filter((item)=>{
        return item>3
    })
  console.log(b) [4,5,6,7,8]

12 arr.map(callback) 數組循環

var a=[1,2,3,4,5,6,7,8]
    a.map((item)=>{
        console.log(item) //依次打印1,2,3,4,5,6,7,8
    })

13.es6 去重操做

var a=[1,2,2,3,3,4,4,5,6,7,8]
 var b = [...new Set(a)]
     
 console.log(b) [1,2,3,4,5,6,7,8]

14.僞數組轉數組

//先看下什麼叫僞數組
   var object = {
       0:'1',
       1:'2',
       2:'3',
       3:'4',
       4:'5',
       length:5
   }
  for(var i=0;i<object.length;i++){
      console.log(object[i]) 
  }
  //依次打印1,2,3,4,5

  //僞數組轉數組
  //方法一:
  //Array.from()
  var b = Array.from(object)
  console.log(b) //["1", "2", "3", "4", "5"]
  //方法二:
  var c = [].slice.call(object)
  console.log(c) //["1", "2", "3", "4", "5"]
  //方法三:
  var d = Array.prototype.slice.call(object)
  console.log(d) //["1", "2", "3", "4", "5"]

15.數組的深拷貝

//淺拷貝方法一:
   var arr = [1,2,3,4];
   var b = arr;
   b.push(5);
   console.log(arr)  // [1, 2, 3, 4, 5]
//深拷貝方法二:
   var arr = [1,2,3,4];
   var b = JSON.parse(JSON.stringify(arr))
   b.push(5);
   console.log(arr)  // [1, 2, 3, 4]
   console.log(b)  // [1, 2, 3, 4, 5]
相關文章
相關標籤/搜索