數(shù)組Array的常用方法(上)

1 arr.push()
從后面添加元素,返回值為添加完后的數(shù)組的長度

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()
從后面刪除元素,只能是一個,返回值是刪除的元素

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()
從前面添加元素, 返回值是添加完后的數(shù)組的長度

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)
刪除從i(索引值)開始之后的那個元素。返回值是刪除的元素(參數(shù): i 索引值 n 個數(shù))

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

6 arr.concat()
連接兩個數(shù)組 返回值為連接后的新數(shù)組

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()
將字符串轉(zhuǎn)化為數(shù)組

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

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

let arr = [2,10,6,1,4,22,3]
console.log(arr.sort())   // [1, 10, 2, 22, 3, 4, 6]
let arr1 = arr.sort((a, b) =>a - b)  
console.log(arr1)   // [1, 2, 3, 4, 6, 10, 22]
let arr2 = arr.sort((a, b) =>b-a)  
console.log(arr2)  // [22, 10, 6, 4, 3, 2, 1]

9 arr.reverse()
將數(shù)組反轉(zhuǎn),返回值是反轉(zhuǎn)后的數(shù)組

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的數(shù)組,不包含end索引的值,返回值是切出來的數(shù)組

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.forEach(callback)
遍歷數(shù)組,無return 即使有return,也不會返回任何值,并且會影響原來的數(shù)組
callback的參數(shù): value --當前索引的值
          index --索引
          array --原數(shù)組

let arr = [1,2,3,4,5]
arr.forEach( (value,index,array)=>{
        value = value * 2
        console.log(`value:${value}    index:${index}     array:${array}`)
    })   
    console.log(arr)
    // value:2    index:0     array:1,2,3,4,5
    // value:4    index:1     array:1,2,3,4,5
    // value:6    index:2     array:1,2,3,4,5
    // value:8    index:3     array:1,2,3,4,5
    // value:10   index:4     array:1,2,3,4,5
    // [1, 2, 3, 4, 5]

12 arr.map(callback)
映射數(shù)組(遍歷數(shù)組),有return 返回一個新數(shù)組 。
callback的參數(shù): value --當前索引的值
          index --索引
          array --原數(shù)組

var arr1 = [1,2,3,4]; 
var res1 = arr1.map((item,index,arr)=>{ 
 item = item * 3; 
 return item; 
})
console.log(arr1); // [1,2,3,4]
console.log(res1); // [3,6,9,12]
ps: arr.forEach()和arr.map()的區(qū)別 
    1. arr.forEach()是和for循環(huán)一樣,是代替for。arr.map()是修改數(shù)組其中的數(shù)據(jù),并返回新的數(shù)據(jù)。
    2. arr.forEach() 沒有return  arr.map() 有return

13 arr.filter(callback)
過濾數(shù)組,返回一個滿足要求的數(shù)組
callback的參數(shù): value --當前索引的值
           index --索引

let arr = [1,2,3,4,5]
  let arr1 = arr.filter( (value, index) => value<3)
  console.log(arr1)    // [1, 2]

14 arr.every(callback)
依據(jù)判斷條件,數(shù)組的元素是否全滿足,若滿足則返回ture
callback的參數(shù): value --當前索引的值
           index --索引

let arr = [1,2,3,4,5]
   let arr1 = arr.every( (value, index) =>value<3)
   console.log(arr1) // false
   let arr2 = arr.every( (value, index) =>value<6)
   console.log(arr2)  // true

15 arr.some()
依據(jù)判斷條件,數(shù)組的元素是否有一個滿足,若有一個滿足則返回ture
    callback的參數(shù): value --當前索引的值
           index --索引

let arr = [1,2,3,4,5]
let arr1 = arr.some( (value, index) =>value<3)
console.log(arr1) // true
let arr2 = arr.some( (value, index) =>value>6)
console.log(arr2) // false
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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