JavaScript遍历对象的七种方法汇总

yizhihongxing

当我们需要操作 JavaScript 对象的属性时,遍历对象是非常必要的。本文总结了JavaScript遍历对象的七种方法。下面进行详细讲解:

方法一:for...in

使用 for...in 循环对象的属性。

const person = {
  name: 'John',
  age: 30,
  gender: 'male'
}

for (let property in person) {
  console.log(`${property}: ${person[property]}`)
}

输出结果为:

name: John
age: 30
gender: male

方法二:Object.keys()

使用 Object.keys() 方法获取对象的所有属性名数组,然后使用 forEach 循环。

const person = {
  name: 'John',
  age: 30,
  gender: 'male'
}

Object.keys(person).forEach(key => {
  console.log(`${key}: ${person[key]}`)
})

输出结果为:

name: John
age: 30
gender: male

方法三:Object.values()

使用 Object.values() 方法获取对象的所有属性值数组,然后使用 forEach 循环。

const person = {
  name: 'John',
  age: 30,
  gender: 'male'
}

Object.values(person).forEach(value => {
  console.log(value)
})

输出结果为:

John
30
male

方法四:Object.entries()

使用 Object.entries() 方法获取对象的所有属性和属性值的键值对数组,然后使用 forEach 循环。

const person = {
  name: 'John',
  age: 30,
  gender: 'male'
}

Object.entries(person).forEach(([key, value]) => {
  console.log(`${key}: ${value}`)
})

输出结果为:

name: John
age: 30
gender: male

方法五:Array.prototype.forEach()

将对象转换为键名为对象属性名,键值为对象属性值的数组,然后使用 forEach 循环。

const person = {
  name: 'John',
  age: 30,
  gender: 'male'
}

Object.entries(person).map(([key, value]) => `${key}: ${value}`)
  .forEach(item => console.log(item))

输出结果为:

name: John
age: 30
gender: male

方法六:Array.prototype.map()

将对象转换为键名为对象属性名,键值为对象属性值的数组,然后使用 map 循环。

const person = {
  name: 'John',
  age: 30,
  gender: 'male'
}

const result = Object.entries(person).map(([key, value]) => `${key}: ${value}`)

console.log(result)

输出结果为:

["name: John", "age: 30", "gender: male"]

方法七:Array.prototype.reduce()

将对象转换为键名为对象属性名,键值为对象属性值的数组,然后使用 reduce 循环。

const person = {
  name: 'John',
  age: 30,
  gender: 'male'
}

const result = Object.entries(person).reduce((acc, [key, value]) => {
  acc.push(`${key}: ${value}`);
  return acc;
}, []);

console.log(result);

输出结果为:

["name: John", "age: 30", "gender: male"]

示例说明:

const students = [
  { id: 1, name: 'Tom', age: 18 },
  { id: 2, name: 'Jack', age: 20 },
  { id: 3, name: 'Rose', age: 19 }
]

students.forEach(student => {
  console.log(`${student.id} ${student.name} ${student.age}`)
})

输出结果为:

1 Tom 18
2 Jack 20
3 Rose 19

另一个示例:

const book = {
  title: 'JavaScript高级程序设计',
  author: 'Nicholas',
  publisher: 'xxx出版社',
  price: 59.9
}

Object.keys(book).forEach(key => {
  console.log(`${key}: ${book[key]}`)
})

输出结果为:

title: JavaScript高级程序设计
author: Nicholas
publisher: xxx出版社
price: 59.9

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript遍历对象的七种方法汇总 - Python技术站

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

相关文章

  • JavaScript数组及常见操作方法小结

    JavaScript数组及常见操作方法小结 JavaScript中的数组是一组有序的数据集合,可以存储不同类型的数据,包括数字、字符串、对象、甚至是其他数组。本文将介绍JavaScript数组常见的操作方法。 创建数组 在JavaScript中,可以通过以下两种方式来创建一个数组。 直接赋值法 直接赋值法是指在一个变量名后使用一对方括号来创建一个数组。例如:…

    JavaScript 2023年5月27日
    00
  • 基于打包工具Webpack进行项目开发实例

    基于打包工具Webpack进行项目开发的完整攻略可以分为如下几个步骤: 创建项目并安装Webpack 配置基本的Webpack配置文件 配置Loader和Plugins 进行项目开发及打包 下面我将详细讲解每一个步骤的具体细节以及两个示例。 1. 创建项目并安装Webpack 首先,我们需要创建一个新的项目,并将Webpack安装在项目中。创建新项目的方法可…

    JavaScript 2023年6月11日
    00
  • jscript读写二进制文件的方法

    当需要读写二进制文件时,我们可以使用JScript创建文件系统对象来处理这些操作。以下是使用JScript读写二进制文件的方法攻略: 1. 以二进制方式打开文件 在JScript中,我们可以使用FileSystemObject对象来读写文件。为了打开二进制文件,我们需要使用fsObj.OpenTextFile()方法,并将第二个参数设置为2。 var fso…

    JavaScript 2023年5月27日
    00
  • URL地址中的#符号使用说明

    当我们访问网页时,常常会注意到 URL 地址中包含 # 符号。这个 # 符号在 URL 中有什么作用呢?下面我将详细讲解 “URL地址中的#符号使用说明”,希望能对大家有所帮助。 什么是 URL? 首先让我们来了解一下 URL 是什么。URL(Uniform Resource Locator),中文称统一资源定位符,是互联网上每个文件以及其他资源的唯一地址。…

    JavaScript 2023年6月11日
    00
  • javascript实现的简易的DatePicker日历

    下面是javascript实现的简易DatePicker日历的完整攻略: 1. 前言 DatePicker(日期选择器)在web应用中是一个非常常见的功能,它可以方便用户选择指定日期,并以统一的格式显示。本文将介绍如何使用javascript实现一款简易的DatePicker。 2. 实现思路 在实现DatePicker时,我们需要做以下几个步骤: 创建一个…

    JavaScript 2023年5月27日
    00
  • JavaScript 转义字符JSON parse错误研究

    下面是「JavaScript 转义字符JSON parse错误研究」的完整攻略。 背景 JavaScript中的字符串可以使用转义字符表示特殊字符,如\n表示换行,\t表示制表符。当我们将含有转义字符的字符串转成JSON对象时,有时会遇到JSON parse错误的问题,这可能会影响我们的程序正常运行。 解决方案 双重转义字符 JSON格式中定义了一些特殊字符…

    JavaScript 2023年5月18日
    00
  • 如何利用Three.js实现跳一跳小游戏

    利用Three.js实现跳一跳小游戏的完整攻略如下: 1. Three.js简介 Three.js是一个基于WebGL的JavaScript 3D图形库,可以方便地创建和显示3D场景,是开发WebGL 3D项目的不二选择。在使用Three.js前,需要先了解WebGL和JavaScript。 2. 如何实现跳一跳 2.1 生成游戏场景和跳台 利用Three.…

    JavaScript 2023年6月11日
    00
  • JS获取当前时间的年月日时分秒及时间的格式化的方法

    下面是针对“JS获取当前时间的年月日时分秒及时间的格式化的方法”的完整攻略。 获取时间的方式 JavaScript中可以通过以下两种方式获取当前时间: Date()对象的构造函数,例如var dateObj = new Date();,这种方式会获取当前系统时间,包括年月日时分秒等信息。 Date.now()方法,例如var timestamp = Date…

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