javascript中的map, forEach

.map(fn)方法

1 var a=[2, 4, 6];
2 a.map(function(d, i, arr){
3 return {x:i, y:d*i, z:arr};
4 });

输出结果:

1 [{x:0, y:0, z:[2, 4, 6]},
2 {x:1, y:4, z:[2, 4, 6]},
3 {x:2, y:12, z:[2, 4, 6]}]

回调函数中传入的d是遍历数组的值, i是数组的索引, 整个数组也在第三个参数传进来

map会将原数组投射到一个长度一样的新数组中,新数组中每个对应成员的值就是回调函数返回的值



 

.forEach(fn)方法

1 var arr=[1, 3, 5];
2 arr.forEach(function(d, i, arr){
3 console.log( [i, d, arr] );
4 });

结果如下:

[0, 1, [1, 3, 5]]
[0, 3, [1, 3, 5]]
[0, 5, [1, 3, 5]]

遍历arr, 每次传入数值d和索引i和整个arr

时间: 2024-08-06 11:52:34

javascript中的map, forEach的相关文章

javascript中使用Map

mis.comm.js.Map = function() { this.elements = new Array(); //获取MAP元素个数 this.size = function() { return this.elements.length; } //推断MAP是否为空 this.isEmpty = function() { return (this.elements.length < 1); } //删除MAP全部元素 this.clear = function() { this.el

由实现JavaScript中的Map想到的

项目中要用到JavaScript中的Map数据类型,它不像JDK那样有自带的,怎么办?搜了找到一个不错的(http://darkmasky.iteye.com/blog/454749).用这个可以满足项目中要求.在找的过程中,发现这么个轻量级的实现.http://www.iteye.com/topic/196610帖子中,二楼myy的回复内容.应该说这个简单地实现可以满足我的一些需求,但它少了size方法. 在这个简单实现的基础上,自己能不能加一个size方法呢?而不地通过封装Array那样的重

ES6新特性:Javascript中的Map和WeakMap对象

Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的key值在对象上面, 除非我们使用Object.create(null)创建一个没有原型的对象: 2:在Object对象中, 只能把String和Symbol作为key值, 但是在Map中,key值可以是任何基本类型(String, Number, Boolean, undefined, NaN..

JavaScript中如何中断forEach循环

先来看下forEach的实现 // Production steps of ECMA-262, Edition 5, 15.4.4.18// Reference: http://es5.github.io/#x15.4.4.18if (!Array.prototype.forEach) {   Array.prototype.forEach = function(callback, thisArg) {     var T, k;     if (this === null) {      th

JavaScript中的Map和Set

JavaScript的默认对象表示方法{}可以视为其他语言中的Map或者Dictionary的数据结构,即一组键值对. 但是JavaScript的对象有个小问题,就是键必须是字符串,但实际上Number或者其他数据类型作为键也是非常合理的. Map是一组键值对的结构,具有极快的查找速度. var m = new Map([['Michael',95],['Bob',75],['Tracy',85]]); m.get('Michael');//95 初始化Map需要一个二维数组,或者直接初始化一个

js中的map, forEach

.map(fn)方法 var a=[2, 4, 6]; a.map(function(d, i, arr){ return {x:i, y:d*i, z:arr}; }); 输出结果: [{x:0, y:0, z:[2, 4, 6]},  {x:1, y:4, z:[2, 4, 6]},  {x:2, y:12, z:[2, 4, 6]}] 回调函数中传入的d是遍历数组的值, i是数组的索引, 整个数组也在第三个参数传进来 map会将原数组投射到一个长度一样的新数组中,新数组中每个对应成员的值就

JavaScript中的map方法

假设有一个函数f(x)=x2;作用在一个数组[1,2,3,4,5,6,7,8,9],通常我们会用遍历的方法来实现. function f(x){ return x * x; } var arr = [1,2,3,4,5,6,7,8,9]; var result = []; for(var i=0; i<arr.length; i++){ result.push(f(arr[i])) } 这样的确可以实现,但我们有更优雅的实现. function f(x) { return x * x; } va

javascript中的map和reduce

今天在看"廖雪峰官方网站"的js教程时,看到了map和reduce.其中有一个练习题是:不使用js内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数(先将字符串转换为数组,再将数组转换为从arr[0]到arr[arr.(length-1)]的一个数字.比如:把[1, 3, 5, 7, 9]变换成整数13579. 我的解法: function toNum(str) { var arr=[]; for(var i=0;i<str.leng

JavaScript中的map()函数

概述Array.map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,同时不会改变原来的数组. 用法 Array.map(callback); 示例 //简单数组 const arr = [1, 3, 4, 5, 6, 7, 8, 10]; const cube = (num) => { return num * num; } const res = arr.map(cube);//[ 1, 9, 16, 25, 36, 49, 64, 100 ] // or const