最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小OO 时间:2020-11-27 20:20:04
文档

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

forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环。例如下面这个例子。[1.2 ,3.4].forEach(alert)。等同于下面这个for循环。var array = [1.2.3.4]。for (var k = 0.length = array.length;k <;length;k++) {。alert(array[k])。};Array在ES5新增的方法中,参数都是function类型,默认有传参,forEach方法中的function回调支持3个参数,第1个是遍历的数组内容;第2个是对应的数组索引,第3个是数组本身。因此,有。[].forEach(function(value.index.array) {。// ..。})。
推荐度:
导读forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环。例如下面这个例子。[1.2 ,3.4].forEach(alert)。等同于下面这个for循环。var array = [1.2.3.4]。for (var k = 0.length = array.length;k <;length;k++) {。alert(array[k])。};Array在ES5新增的方法中,参数都是function类型,默认有传参,forEach方法中的function回调支持3个参数,第1个是遍历的数组内容;第2个是对应的数组索引,第3个是数组本身。因此,有。[].forEach(function(value.index.array) {。// ..。})。


下面小编就为大家带来一篇JS中的forEach、$.each、map方法推荐。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环。例如下面这个例子:

[1, 2 ,3, 4].forEach(alert);

等同于下面这个for循环

var array = [1, 2, 3, 4];

for (var k = 0, length = array.length; k < length; k++) {

alert(array[k]);

}

Array在ES5新增的方法中,参数都是function类型,默认有传参,forEach方法中的function回调支持3个参数,第1个是遍历的数组内容;第2个是对应的数组索引,第3个是数组本身。

因此,我们有:

[].forEach(function(value, index, array) {

// ...

});

对比jQuery中的$.each方法:

$.each([], function(index, value, array) {

// ...

});

会发现,第1个和第2个参数正好是相反的,大家要注意了,不要记错了。后面类似的方法,例如$.map也是如此。

var data=[1,3,4] ;

var sum=0 ;

data.forEach(function(val,index,arr){

console.log(arr[index]==val); // ==> true

sum+=val

})

console.log(sum); // ==> 8

map

这里的map不是“地图”的意思,而是指“映射”。[].map(); 基本用法跟forEach方法类似:

array.map(callback,[ thisObject]);

callback的参数也类似:

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

// ...

});

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以下的浏览器还不支持(万恶的IE啊),不过呢,可以从Array原型扩展可以实现以上全部功能,例如forEach方法:

if (typeof Array.prototype.forEach != "function") {

Array.prototype.forEach = function() {

/* 实现 */

};

}

文档

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

forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环。例如下面这个例子。[1.2 ,3.4].forEach(alert)。等同于下面这个for循环。var array = [1.2.3.4]。for (var k = 0.length = array.length;k <;length;k++) {。alert(array[k])。};Array在ES5新增的方法中,参数都是function类型,默认有传参,forEach方法中的function回调支持3个参数,第1个是遍历的数组内容;第2个是对应的数组索引,第3个是数组本身。因此,有。[].forEach(function(value.index.array) {。// ..。})。
推荐度:
标签: 中的 方法 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top