js中forEach,for in,for of循环的用法示例小结

请看下面的文本。

js中forEach,for in,for of循环的用法示例小结

在JavaScript中,有多种迭代数组和对象的方式。 下面是三种常见的循环的用法: forEach,for in,和for of。接下来将详细介绍它们的用法和示例。

forEach循环

JavaScript中的forEach()方法用于迭代逐个数组元素,并为每个元素执行回调函数。 常见的语法格式如下:

array.forEach(callback(currentValue[, index[, array]])[, thisArg])

其中,参数callback表示要调用的函数,currentValue是数组中当前正在处理的元素,index是基于零的数组中元素的索引值,array是数组本身。thisArg是可选参数。它表示在回调函数中this的值。

下面是一个完整的示例:

const array = [1, 2, 3, 4, 5];

array.forEach(function(currentValue, index, array) {
  console.log(currentValue);
});

输出结果为:

1
2
3
4
5

for in循环

for in循环是遍历对象自身的可枚举属性。它能够迭代javascript中的对象属性,如对象字面量、数组和字符串。它的语法格式如下:

for (variable in object) {
  statement
}

其中,变量variable是每个属性的名称; object是要遍历的对象。statement是在循环中执行的代码语句。

例如,下面的例子演示了如何使用for in循环遍历对象和数组:

const obj = {a: 1, b: 2, c: 3};

for (const prop in obj) {
  console.log(`obj.${prop} = ${obj[prop]}`);
}
// 输出结果为:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"
const arr = [1, 2, 3];

for (const index in arr) {
  console.log(`arr[${index}] = ${arr[index]}`);
}
// 输出结果为:
// "arr[0] = 1"
// "arr[1] = 2"
// "arr[2] = 3"

需要注意的是,for in循环会将继承自原型链的可枚举属性都迭代输出,所以在遍历时需要使用hasOwnProperty()方法进行判断。

for of循环

for of循环是一种新的迭代语句,它可以迭代可迭代对象的值。例如,Array,Map和Set。

下面是一个简单的使用for of循环的例子:

const arr = [1, 2, 3];
for (const value of arr) {
  console.log(value);
}
// 输出结果为:
// 1
// 2
// 3

下面是一个更复杂的例子,其中使用for of循环遍历Map的键和值:

const map = new Map([['a',1], ['b',2], ['c',3]]);
for (const [key, value] of map) {
  console.log(`${key} = ${value}`);
}
// 输出结果为:
// "a = 1"
// "b = 2"
// "c = 3"

需要注意的是,for of循环仅可迭代可迭代对象的值,所以在迭代非数组或类数组对象时需要使用对象自己的迭代器(即Symbol.iterator)获取其可迭代值。

以上就是对forEach,for in,for of循环的用法和示例详细介绍。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中forEach,for in,for of循环的用法示例小结 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 全面了解JavaScript的作用域链

    下面我会详细讲解全面了解 JavaScript 的作用域链的攻略。 什么是 JavaScript 的作用域链? JavaScript 的作用域链是由当前执行环境的变量对象和它的父级环境的变量对象构成的一条链。当执行环境需要访问一个变量时,它会首先在当前的变量对象中查找,如果没有找到,它会从父级环境的变量对象中查找,直到找到该变量的值或者查找到全局作用域,如果…

    JavaScript 2023年5月28日
    00
  • js实现可控制左右方向的无缝滚动效果

    实现可控制左右方向的无缝滚动效果,可以通过以下步骤实现: 步骤一:创建HTML结构 首先,我们需要创建一个HTML结构来支持该滚动效果。可以采用如下的结构: <div class="scroll-container"> <div class="scroll-items"> <div cla…

    JavaScript 2023年6月11日
    00
  • javascript中运用闭包和自执行函数解决大量的全局变量问题

    当我们在JavaScript中编写代码时,如果不使用闭包或自执行函数,大量的全局变量就会污染全局命名空间,导致代码难以维护、调试和重构。因此,我们需要使用闭包或自执行函数来保持代码的可读性、可维护性,并且保护全局命名空间。下面是使用闭包和自执行函数解决全局变量问题的攻略: 1. 使用闭包 1.1 什么是闭包? 闭包是指在函数内部创建另一个函数,该函数可以访问…

    JavaScript 2023年6月10日
    00
  • 全屏js头像上传插件源码高清版

    下面我将为你详细讲解“全屏js头像上传插件源码高清版”的完整攻略。 全屏js头像上传插件源码高清版 介绍 “全屏js头像上传插件源码高清版”是一款可供网页端使用的头像上传插件,能够帮助用户实现全屏界面下进行头像的上传。该插件基于Javascript语言进行开发,支持主流的浏览器(如Chrome、Firefox等)。 特点: 界面简洁、美观; 支持图片预览、拖…

    JavaScript 2023年6月11日
    00
  • Javascript基础知识中关于内置对象的知识

    Javascript基础知识中关于内置对象的知识 Javascript中内置对象是指在语言中定义好的一些对象,可以直接使用,不需要进行任何的定义或引入。常见的内置对象有:String、Number、Boolean、Object、Array、Function、RegExp、Date等。 String对象 String对象表示文本字符串。它可以通过字面量、变量等…

    JavaScript 2023年6月10日
    00
  • JavaScript设计模式之模板方法模式原理与用法示例

    JavaScript设计模式之模板方法模式 简介 模板方法模式(Template Method Design Pattern)又称为模板模式,是一种行为型设计模式。在该模式中,定义一个操作中的算法骨架,而将一些步骤延迟到子类中实现。也就是说,在父类中定义好算法的骨架,具体实现留给子类去实现,这样就可以保证算法的整体流程在父类中控制,所有子类遵循相同的规则去按…

    JavaScript 2023年6月10日
    00
  • JavaScript转换数据库DateTime字段类型方法

    下面是JavaScript转换数据库DateTime字段类型的完整攻略。 背景介绍 在开发过程中,我们经常会遇到需要将后端返回的时间戳或字符串类型的时间转换为JavaScript的Date对象,以方便在前端进行处理。这里介绍一种转换数据库DateTime字段类型的方法。 解决方案 在JavaScript中,可以通过正则表达式将数据库DateTime类型的时间…

    JavaScript 2023年5月27日
    00
  • three.js实现炫酷的全景3D重力感应

    下面我会详细讲解three.js实现炫酷的全景3D重力感应的完整攻略,包含以下步骤: 一、引入three.js库 为了使用three.js库来实现我们的效果,我们需要在HTML页面中先引入three.js库的JavaScript文件,通常有两种方式: 直接下载three.js文件并嵌入 <script src="path/to/three.j…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部