您的位置:首页 > Web前端 > JavaScript

js中foreach、each、map遍历数组

2017-03-20 21:32 816 查看
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:用来遍历数组中的每一项;这个方法执行是没有返回值的,对原来数组也没有影响;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: