资讯专栏INFORMATION COLUMN

javascript map()详解

suxier / 3101人阅读

摘要:不会对空数组进行遍历遍历数组的每一项,数组当前项的下标,原数组函数内没有执行,证明数组为空是并不执行遍历返回一个新数组,长度等于原数组长度遍历数组的每一项,数组当前项的下标,原数组即便函数返回空结果数组的

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

**函数内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]

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

不会改变原数组

 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]

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)

函数接收三个参数

item (必须) 当前遍历项

i (非必须)当前遍历项下标

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]

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

欢迎多多吐槽指正! 谢谢!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108836.html

相关文章

  • javascript reduce详解及应用

    摘要:循环数组每一项数组下标当前调用数组本身可选初始值,作为回调函数第一个参数的默认值,也是每次回调的返回值,见代码首页问题转化为数组首页问题转化后效果这个栗子来自配置路由时遇到的,当时也是优化了好几个版本。 reduce callback(一个在数组中每一项上调用的函数,接受四个参数:)previousValue(上一次调用回调函数时的返回值,或者初始值)currentValue(当前正...

    Cruise_Chan 评论0 收藏0
  • 深入了解JavaScript 中的For循环之详解

    摘要:将品牌的标价全部加苏南的专栏交流公众号不会对空数组进行检测。方法用于调用数组的每个元素,并将元素传递给回调函数。 showImg(https://segmentfault.com/img/bVblSSO?w=1008&h=298); 前言: ​ 今天我想分享一个有关于循环筛选的知识点,也许是前端小白的你首先想到的是用for循环做筛选,但我这种小菜鸟想到的就是map(工作中很喜欢...

    linkin 评论0 收藏0
  • 深入了解JavaScript 中的For循环之详解

    摘要:将品牌的标价全部加苏南的专栏交流公众号不会对空数组进行检测。方法用于调用数组的每个元素,并将元素传递给回调函数。 showImg(https://segmentfault.com/img/bVblSSO?w=1008&h=298); 前言: ​ 今天我想分享一个有关于循环筛选的知识点,也许是前端小白的你首先想到的是用for循环做筛选,但我这种小菜鸟想到的就是map(工作中很喜欢...

    jimhs 评论0 收藏0
  • Source Map入门教程

    摘要:多个文件合并,减少请求数。生成的多了,表示文件的位置。转换前的所有变量名和属性名。自从年双十一正式上线,累计处理了亿错误事件,得到了金山软件等众多知名用户的认可。 部署前端之前,开发者通常会对代码进行打包压缩,这样可以减少代码大小,从而有效提高访问速度。然而,压缩代码的报错信息是很难Debug的,因为它的行号和列号已经失真。这时就需要Source Map来还原真实的出错位置了。 sho...

    archieyang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<