javascript map()詳解

map()
  • 不會對空數組進行遍歷
   let arr = []
        let newArr = arr.map((item, i, arr) => {
            //item:遍歷數組的每一項,i:數組當前項的下標,arr原數組
            console.log(`item---${item}, i---${i}, arr---${arr}`)
            return item + i
        })
        console.log(newArr) //[]

image.png

**函數內console沒有執行,證明數組爲空是並不執行遍歷

  • 返回一個新數組,長度等於原數組長度
   let arr = [1, 2, 3]
        let newArr = arr.map((item, i, arr) => {
            //item:遍歷數組的每一項,i:數組當前項的下標,arr原數組
            console.log(`item---${item}, i---${i}, arr---${arr}`)
            return item + i
        })
        console.log(newArr) //[undefined, undefined, undefined]

image.png

**即便函數返回空 結果數組的長度和原數組是一致的

  • 不會改變原數組
 let arr = [1, 2, 3]
        let newArr = arr.map((item, i, arr) => {
            //item:遍歷數組的每一項,i:數組當前項的下標,arr原數組
            console.log(`item---${item}, i---${i}, arr---${arr}`)
            return item + i
        })
        console.log(newArr,arr) //[1, 3, 5]

image.png

  • map() 參數必須是函數
        let arr = [1, 2, 3]
        let obj = {
            1: 2
        }
        let arr1 = [1, 2]
        let str = 123
        // let newArr = arr.map(obj)
        let newArr1 = arr.map(arr1)
        let newArr2 = arr.map(str)

image.png

  • 函數接收三個參數

    1. item (必須) 當前遍歷項
    2. i (非必須)當前遍歷項下標
    3. arr (非必須) 原數組
完整demo
        let arr = [1, 2, 3]
        let newArr = arr.map((item, i, arr) => {
            //item:遍歷數組的每一項,i:數組當前項的下標,arr原數組
            console.log(`item---${item}, i---${i}, arr---${arr}`)
            return item + i
        })
        console.log(newArr) //[1, 3, 5]

image.png

您的點贊是我的動力 謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章