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) //[]

《javascript map()详解》

**函数内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
        })
        console.log(newArr) //[undefined, undefined, undefined]

《javascript map()详解》

**即使函数返回空 效果数组的长度和原数组是一致的

  • 不会转变原数组
 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]

《javascript map()详解》

  • 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)

《javascript map()详解》

  • 函数吸收三个参数

    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]

《javascript map()详解》

您的点赞是我继续下去的动力!

迎接多多吐槽斧正! 感谢!

    原文作者:我是一个前端
    原文地址: https://segmentfault.com/a/1190000017517761
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞