JS中的forEach、$.each、map方法

1.forEach()

forEach是ES5中操作数组的一种方法,主要功能是遍历数组。forEach方法中的function回调有三个参数:第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身

因此:

  [].forEach(function(value,index,array){
    //code something
  });

2.$.each()

等价于jquery中$.each():

$.each([],function(index,value,array){
    //code something
  })

注意,forEach()与$.each()的第1个和第2个参数正好是相反的!!!


3.map()

map:map即是 “映射”的意思 用法与 forEach 相似,用法即:

[].map(function(value,index,array){
  //code
})

map方法的作用如上所说即映射”,原数组被“映射”成对应新数组。下面这个例子是数值项求平方

var data=[1,3,4]

var Squares=data.map(function(val,index,arr){
  console.log(arr[index]==val);  // ==> true
  return val*val           
})
console.log(Squares);        // ==> [1, 9, 16]

注意:由于forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持

4.区别:

map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);

forEach:用来遍历数组中的每一项;这个方法执行是没有返回值的,对原来数组也没有影响;

文章转载自: https://blog.csdn.net/haoaiqian/article/details/64158170

猜你喜欢

转载自blog.csdn.net/weixin_38606332/article/details/80827411
今日推荐