es6中foreach()怎么用

在es6中,foreach()方法用于遍历数组,调用数组的每个元素,并将元素传递给回调函数进行处理,语法“array.forEach(function(currentValue,index,arr),thisValue)”。

es6中foreach()怎么用

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

在es6中,foreach()方法用于遍历数组,调用数组的每个元素,并将元素传递给回调函数进行处理。具体说明如下:

array.forEach(function(currentValue, index, arr), thisValue)

登录后复制

参数 描述

function(currentValue, index, arr)必需。 数组中每个元素需要调用的函数。
函数参数:参数描述currentValue必需。当前元素index可选。当前元素的索引值。arr可选。当前元素所属的数组对象。thisValue可选。传递给函数的值一般用 “this” 值。
如果这个参数为空, “undefined” 会传递给 “this” 值

对于数组中出现的每个元素,forEach 方法都会调用 callbackfn 函数一次,采用升序索引顺序,但不会为数组中空元素调用回调函数。

除了数组对象之外,forEach 方法还可以用于有 length 属性且具有已按数字编制索引的属性名的任何对象,如关联数组对象、Arguments 等。

forEach 方法不直接修改原始数组,但回调函数可能会修改它。在 forEach 方法启动后修改数组对象所获得的结果如表所示。

回调函数修改数组的影响 forEach 方法启动后的条件 元素是否传递给回调函数

在数组的原始长度之外添加元素否添加元素以填充数组中缺少的元素是,如果该索引尚未传递给回调函数元素已更改是,如果该元素尚未传递给回调函数从数组中删除元素否,除非该元素已传递给回调函数

示例1

下面示例使用 forEach 迭代数组 a,然后把每个元素的值和下标索引输出显示,代码如下:

function f(value,index,array) {    console.log("a[" + index + "] = " + value);}var a = ['a', 'b', 'c'];a.forEach(f);

登录后复制

演示结果如下:

1.png

示例2

下面示例使用 forEach 迭代数组 a,然后计算数组元素的和并输出。

var a = [10, 11, 12], sum = 0;a.forEach (function (value) {    sum += value;});console.log(sum);  //返回33

登录后复制

示例3

下面示例演示如何使用 forEach() 方法的第二个参数,该参数为回调函数的 this 传递对象。当迭代数组过程中,先读取数组元素的值,然后改写它的值。

var obj = {    f1 : function(value,index,array) {        console.log("a[" + index + "] = " + value);        arrar[index] = this.f2(value);    },    f2 : function (x) {return x * x;}};var a = [12, 26, 36];a.forEach(obj.f1, obj);console.log(a);  //返回[144, 676, 1296]

登录后复制

【相关推荐:javascript视频教程、web前端】

以上就是es6中foreach()怎么用的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2936631.html

(0)
上一篇 2025年3月11日 21:03:28
下一篇 2025年3月8日 18:39:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • es6数组怎么清除所有元素

    清除方法:1、直接赋值为“[]”,语法“arr=[];”;2、使用splice()删除全部数组元素,语法“arr.splice(0,arr.length);”;3、利用length属性将数组长度设置为0,语法“arr.length=0;”。…

    2025年3月11日 编程技术
    200
  • es6 set是什么意思

    set的意思为“集合”,是ES6提供的新数据结构,类似于数组,但是成员的值都是唯一的,没有重复的值。Set对象允许用户存储任何类型的唯一值,无论是原始值或者是对象引用。 本教程操作环境:windows7系统、ECMAScript 6版、De…

    2025年3月11日
    200
  • ES6通过什么定义类

    在ES6中,class(类)作为对象的模板被引入,可以通过“class”关键字来定义类。class的本质是function,它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。 本教程操作环境:windows7系统、EC…

    2025年3月11日
    200
  • es6中map和foreach有什么区别

    区别:1、forEach()方法不会返回执行结果,返回值为“undefined”,而map()方法会返回运算结果,会返回一个数组;2、forEach()方法会修改原来的数组,而map()方法不会修改原来的数组。 本教程操作环境:window…

    2025年3月11日 编程技术
    200
  • es6怎么比较2个数组的值是否相等

    es6中可用every()和some()来进行比较,语法“s1.length===s2.length&&s1.every(a=>s2.some(b=>a===b))&&s2.every(_b=&g…

    2025年3月11日
    200
  • es6怎么判断数组是否为空

    es6判断数组是否为空的方法:1、使用“arr.length == 0”语句,判断数组的长度是否为0,如果为0则为空;2、使用“JSON.stringify(arr) === ‘[]’”语句,如果返回值为false则…

    2025年3月11日
    200
  • es6中三个点是什么意思

    在es6中,三个点“…”指的是“扩展运算符”,可以在函数调用或数组构造时,将数组表达式或者string在语法层面展开;也可以在构造字面量对象时将对象表达式按照“key-value”的方式展开。 本教程操作环境:windows7系…

    2025年3月11日
    200
  • es6深度拷贝的几种实现方法是什么

    深度拷贝的实现方法:1、使用“Object.assign({},obj)”语句来实现;2、使用“JSON.parse(JSON.stringify(obj))”语句来实现;3、使用“$.extend(true,[],arr)”语句来实现。 …

    2025年3月11日
    200
  • es2017是es6吗

    es2017不是es6;es2017又称es8,和es6是两个版本。es2017是2017年发布的ECMAScript的第8个版本,因此也可简称为es8;而es6是2015年发布的ECMAScript的第6个版本,也可称为es2015。 本…

    2025年3月11日
    200
  • es6箭头函数要注意什么

    注意事项:1、箭头函数会改变函数内this的指向与上级作用域中的this指向保持一致;2、不可以当作构造函数,即不可以使用new命令;3、不可以使用arguments对象;4、不可以使用yield命令,不能用作Generator函数。 本教…

    2025年3月11日
    200

发表回复

登录后才能评论