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

当我们需要操作 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日

相关文章

  • JS实现将二维数组转为json格式字符串操作示例

    JS将二维数组转为JSON格式字符串的操作可以使用JSON对象的“stringify”方法实现。以下是详细的攻略步骤: 步骤1 首先定义一个二维数组,例如: const arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; 步骤2 使用JSON对象的“stringify”方法将二维数组转换为JSON格式字符串,例如: cons…

    JavaScript 2023年5月27日
    00
  • JavaScript实现页面电子时钟

    下面是JavaScript实现页面电子时钟的完整攻略: 1. 准备工作 在实现页面电子时钟之前,需要先编写HTML和CSS代码来布局和样式化页面,然后才能使用JavaScript来实现时钟的功能。 1.1. HTML代码 HTML代码负责页面的布局,通常会包含容器元素来存放时钟的各个部分。 <!– 电子时钟容器 –> <div clas…

    JavaScript 2023年5月28日
    00
  • 微信小程序自定义时间段picker选择器

    现在我来给您详细讲解一下“微信小程序自定义时间段picker选择器”的完整攻略。 一、前置知识 在开始讲解之前,您需要掌握微信小程序基础知识,并且熟悉微信小程序基础组件picker组件。 二、实现过程 1.准备工作 创建一个新的page或component,引入picker组件以及相关的wxss文件和js文件。 2.渲染页面 在wxml文件中,添加picke…

    JavaScript 2023年6月10日
    00
  • 如何在WebForm中使用javascript防止连打(双击)

    下面是如何在WebForm中使用javascript防止连打(双击)的攻略。 1. 使用Javascript实现防止连打的原理 当用户在WebForm页面中连续点击同一个按钮时,可能会产生多次请求与处理,导致数据混乱,甚至出现系统异常等问题。使用Javascript可以有效防止这种情况的发生。 实现原理是通过给按钮添加一个onclick事件,在该事件里面添加…

    JavaScript 2023年6月11日
    00
  • javascript+HTML5自定义元素播放焦点图动画

    请听我详细讲解“JavaScript+HTML5自定义元素播放焦点图动画”的完整攻略。 简介 焦点图是网页设计中常见的元素之一,可以用来展示重点内容或产品等。自定义元素是HTML5新增加的特性,可以让开发者自定义并扩展新的HTML元素,从而提高代码的可读性和可维护性。结合JavaScript,可以实现焦点图的动画效果。下面将详细介绍自定义元素播放焦点图动画的…

    JavaScript 2023年6月10日
    00
  • 突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述

    Web Worker是HTML5中为JavaScript提供的多线程的解决方案之一,可以将一些复杂和耗时的任务在独立的线程中进行,以提高整个系统的响应速度。该技术可以通过JavaScript API进行调用。 Web Worker概述 Web Worker包含两种类型: 主线程中的Worker 普通的Web Worker 其中,主线程中的Worker用于加载…

    JavaScript 2023年5月28日
    00
  • 在javascript将NodeList作为Array数组处理的方法

    将NodeList作为Array数组处理的方法是在javascript中非常有用的技巧之一。在许多情况下,获得的是NodeList类型的HTML元素集合,我们可能需要对集合进行操作,比如对集合进行排序,筛选等。然而,NodeList不是真正的数组类型,它缺少数组类型的操作和方法。幸运的是,我们可以使用一些技巧将NodeList转换为以进行操作的数组。 在ja…

    JavaScript 2023年5月27日
    00
  • vue、react等单页面项目部署到服务器的方法及vue和react的区别

    一、将单页面应用(SPA)部署到服务器的方法 将SPA打包生成静态文件使用webpack等打包工具将SPA打包生成静态文件,一般会生成一个dist文件夹,里面包含了SPA的所有静态资源文件。 部署到服务器将生成的静态文件复制到服务器上的部署目录,如/var/www/html,然后通过nginx等Web服务器进行访问即可。 示例:假设我们已经将一个Vue单页面…

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