JavaScript数组中的forEach以及map方法

forEach

功能:

循环遍历数组中的每一项,只能遍历数组

//写法

数组对象.forEach(function(参数变量名1,参数变量名2,参数变量名3)){

    // 做一些操作,forEach 没有返回值,返回值为 undefined
})

特点:

  callback函数, 为数组中每个元素执行的函数,该函数接受三个参数

* 变量参数名1 必选,表示的是数组中的项值(数组当前项的值)

* 变量参数名2 可选,表示的是索引(数组当前项的索引)

* 变量参数名3 可选,表示原数组(数组对象本身)

返回值:

 undefined ,并且总是返回undefined值,不会修改原数组

使用场景:

邮箱,qq,购物车,列表,全选,删除所选项邮件等, todolist

var arr = [1,2,3,4];
var sum =0;
arr.forEach(function(value,index,array){
   //获取数组的每一项,并对其进行操作
 array[index] == value; //结果为true

 sum+=value; 

 });

console.log(sum); //结果为 10

map

功能:

循环遍历数组中的每一项,只能遍历数组

//写法
数组对象.map(callback(参数名1,参数名2,参数名3){
//对数组做一些操作
})

特点:

map使用方法与forEach类似,callback 回调函数接受的参数意义与forEach 一致

必须要有返回值,如果不给return,他就会返回一个undefined

return 的返回值是什么,相当于给这个新增的数组添加新的值,但他不会影响原数组,只是将原来的数组拷贝一份,把拷贝的数组项进行更改,支持链式调用

使用场景:

拷贝原数组,对数组的每一项进行操作,改变一些东西

let array = [1, 2, 3, 4, 5];

let newArray = array.map((item) => {
    return item * item;
})

console.log(newArray)  // [1,4,9,16,25]

注: 为了遍历数组,我们需要创建变量  i 

        指向数组的长度,还需要定义计数器的修改

        这样做容易出错,当多层for循环嵌套时,不仅阅读上困难,代码也很难理解

        不得不跟踪for循环中的每一步,确保遍历了数组的每一个元素

         forEach 和 map 等迭代器函数就避免了此类问题,简化了操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值