JS中map()与forEach()的区别和用法

时间: 2019-08-11阅读: 29标签: 区别

相同点:

1.都是循环遍历数组中的每一项

2.每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)

3.匿名函数中的this都是指向window

4.只能遍历数组

 

不同点:

map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值,也就是map()进行处理之后返回一个新的数组

注意:map()方法不会对空数组进行检测

map方法不会改变原始数组

var arr = [0,2,4,6,8];
var str = arr.map(function(item,index,arr){
console.log(this); //Window
console.log(this);
console.log(item);
console.log(‘原数组arr:‘,arr); // 会执行五次
return item/2;},this);console.log(str); //[0,1,2,3,4]
forEach


forEach方法用于调用数组的每个元素,将元素传给回调函数

注意: forEach对于空数组是不会调用回调函数的 ,没有返回一个新数组&没有返回值

应用场景:为一些相同的元素,绑定事件处理器!

不可链式调用 

var arr = [0,2,4,6,8]
var sum =0;
var str = arr.forEach(item,index.arr){sum+= item;console.log("sum的值为:",sum);})


链接: http://www.fly63.com/article/detial/4621

img中alt和title属性的区别

在图像标签img中,除了常用的宽度width和高度height属性之外,还有两个比较重要并且也会用到的属性,就是alt和title,这都是用来显示图片内容的具体信息的,但是这两个属性也有不同的地方

Js中Array.splice 与 Array.slice 如何区分

splice()方法返回数组中已删除的项,slice()方法返回数组中的选定元素,作为新的数组对象。splice()方法更改原始数组,而slice()方法不更改原始数组。 splice()方法可以使用n个参数:

js数组与对象的区别?

有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3:4},然后你运行alert(a[1]),两种情况下的运行结果是相同的!这就是说,数据集合既可以用数组表示,也可以用对象表示,那么我到底该用哪一种呢?

CSS中inline、block和inline-block的区别

block块级元素特点:每个块级元素都从新的一行开始,并且其后的元素也另起一行;inline内联元素特点:和其他元素都在一行上;元素的高度、宽度及顶部和底部边距不可设置;

Js绑定事件的两种方式的区别

运行后发现,点击后src没有变化,调试发现,这里this是window对象,而不是img标签对象。顿时感觉有点迷惑,因为以前绑定事件中,拿标签属性都是用的this,怎么这里不对了?

html中src与href的区别

写代码的时候就经常把这两个属性弄混淆,到底是href还是src,href表示超文本引用,用在link和a等元素上,href是引用和页面关联,是在当前元素和引用资源之间建立联系,src表示引用资源,表示替换当前元素,用在img,script,iframe上

export,export default,module.exports,import,require之间的区别和关联

Node应用由模块组成,采用CommonJS模块规范。根据这个规范,每个文件就是一个模块,有自己的作用域。在这些文件里面定义的变量、函数、类,都是私有的,对外不可见,因此规避掉了作用域污染。

Js apply/call/bind的区别及自我实现

call/apply/bind 日常编码中被开发者用来实现 “对象冒充”,也即 “显示绑定 this“。面试题:“call/apply/bind源码实现”,事实上是对 JavaScript 基础知识的一个综合考核。

canvas与svg区别

什么是canvas?canvas画布,使用js在网页上绘制图像什么是svg?svg是可伸缩矢量图;canvas通过js在画布上画了连线,但是浏览器中没有展示连线DOM

PTN与SDH的区别?

SDH是基于TDM技术,主要用于传输语音,此外采用GFP封装来传输IP包,物理介质为光纤。PTN是采用DWDM技术,主要用于传输IP包、以太网帧,此外采用MPLS-TP技术来实现PWE3伪线

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全