当前位置: 首页 > 编程笔记 >

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

太叔豪
2023-03-14
本文向大家介绍JS中的forEach、$.each、map方法推荐,包括了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方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍浅谈jquery的map()和each()方法,包括了浅谈jquery的map()和each()方法的使用技巧和注意事项,需要的朋友参考一下 1. map()方法 2. each()方法 以上这篇浅谈jquery的map()和each()方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 在jQuery中,and 函数似乎做同样的事情。两者之间是否有实际区别?您什么时候选择使用一种而不是另一种? 问题答案: 该方法原本是一个不可变的迭代器,该方法可以用作迭代器,但实际上是要操纵提供的数组并返回一个新数组。 另一个需要注意的重要事项是,该函数返回原始数组,而该函数返回一个新数组。如果您过度使用map函数的返回值,则可能会浪费大量内存。 例如: 您还可以使用map函数从数组

  • 本文向大家介绍JS模拟的Map类实现方法,包括了JS模拟的Map类实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS模拟的Map类。分享给大家供大家参考,具体如下: 根据java中map的属性,实现key----value保存 1、使用数组方式存储数据,(使用闭包) 2、使用JSON方式存储数据(使用原型方式拓展方法) 更多关于JavaScript相关内容感兴趣的读者可查看本站专

  • 本文向大家介绍Map获取键值,Map的几种遍历方法总结(推荐),包括了Map获取键值,Map的几种遍历方法总结(推荐)的使用技巧和注意事项,需要的朋友参考一下 Map获取键值 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。 Map的接口 Map---实现Map Map.Entry--Map的内部类,描述Map中的按键/数值对。 SortedMap---扩

  • 问题内容: 我有一个列表,我想在其中过滤元素并在每个元素上应用一个方法,然后将结果添加到另一个列表中。 使用Java 8,我注意到可以用2种不同的方式来做到这一点。我想知道它们之间更有效的方法,并理解为什么一种方法比另一种更好。 我愿意就第三种方式提出任何建议。 方法1: 方法2: 问题答案: 不必担心任何性能差异,在这种情况下,通常它们会很小。 方法2是可取的,因为 它不需要变异lambda表达

  • 本文向大家介绍js定义类的几种方法(推荐),包括了js定义类的几种方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 ECMAScript6已经支持了class,但之前版本都不支持类,但是可以通过一些方法来模拟类。 js中的类,既是重点,也是难点,很多时候都感觉模棱两可。 首先强调一下js中很重要的3个知识点:this、prototype、constructor。 下面我们来总结一下定义(模拟)