JS 5种遍历对象的方式

yizhihongxing

JS中有5种遍历对象的方式,分别为for...in、Object.keys()、Object.getOwnPropertyNames()、Object.values()和Object.entries()。下面详细介绍这5种遍历方式的用法及示例。

for...in

for...in语句可用于遍历对象的属性。它比较慢,但用的相对频率最高,因为它适用于对象和数组(它们都被视为对象,因为JavaScript中万物皆是对象)。它遍历对象自身和继承的可枚举属性(但不包括Symbol 属性)。

示例:

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

Object.keys()

Object.keys()方法返回对象自身的所有可枚举属性的属性名组成的数组。即只返回对象自身的属性名,不包括继承的属性名和Symbol 属性。

示例:

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

console.log(Object.keys(obj));

输出结果:

["a", "b", "c"]

Object.getOwnPropertyNames()

Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性)组成的数组。

示例:

const obj = Object.create({a: 'a'});
obj.b = 'b';
obj.c = 'c';

console.log(Object.getOwnPropertyNames(obj)); 

输出结果:

["b", "c"]

Object.values()

Object.values()方法返回对象自身的所有可枚举属性的属性值组成的数组。即只返回对象自身的属性值,不包括继承的属性值和Symbol 属性。

示例:

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

console.log(Object.values(obj));

输出结果:

[1, 2, 3]

Object.entries()

Object.entries()方法返回对象自身的所有可枚举属性的属性名和属性值(键值对)组成的数组。

示例:

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

console.log(Object.entries(obj));

输出结果:

[["a", 1], ["b", 2], ["c", 3]]

以上就是JS中5种遍历对象的方式的详细讲解及相应示例。

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

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

相关文章

  • js中取得变量绝对值的方法

    当我们需要在 JavaScript 中获取一个变量的绝对值时,可以使用 Math 对象的 abs() 方法。下面是详细的攻略: 使用 Math.abs() 方法获取变量的绝对值 Math 对象是 JavaScript 提供的一个内置对象,通过该对象提供的 abs() 方法,即可获取任意数字类型的变量的绝对值。 let num1 = -5, num2 = 10…

    JavaScript 2023年5月28日
    00
  • JS在浏览器中解析Base64编码图像

    在浏览器中解析Base64编码图像可以使用JavaScript来实现,下面是实现的步骤和相应的示例代码。 1. 将Base64编码字符串转换为Blob对象 使用atob()函数将Base64编码字符串转换为二进制数据,然后将其转换为Blob对象。 // 示例1:将Base64编码字符串转换为Blob对象 const base64 = ‘data:image/…

    JavaScript 2023年5月19日
    00
  • 一文教会你提高Javascript代码效率的技巧

    一文教会你提高JavaScript代码效率的技巧 介绍 本篇文章将会介绍一些提高JavaScript代码效率的技巧。如果您已经熟悉了JavaScript基础语法并开发过一些JavaScript应用,那么了解更多关于如何提高代码效率的方法应该是您进一步提升技能的重要步骤。 技巧一:避免不必要的循环 如果你在应用程序中使用循环语句,那么要尽可能避免在不必要的场景…

    JavaScript 2023年5月28日
    00
  • JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】

    概述 本文将介绍如何使用JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果。Sketch.js是一个轻量级的库,用于创建基于HTML5画布的交互式Web应用程序。该库提供了许多工具和方法,使用户可以轻松地在画布上绘制、擦拭、编辑和操作对象。本文将通过实现蝌蚪游动动画效果,介绍如何使用Sketch.js来创作基于交互式画布的动态Web应用程序。 实现…

    JavaScript 2023年5月28日
    00
  • JavaScript中的单引号和双引号报错的解决方法

    JavaScript中的单引号和双引号都可以用于表示字符串,但是如果在使用时不注意规范,就可能会出现报错的情况。下面介绍一下在JavaScript中解决使用单引号和双引号时,可能会出现的报错情况以及解决方法。 1.问题描述 在JavaScript中,使用单引号或双引号需要注意引号的匹配问题。例如: var str = ‘This is a string&qu…

    JavaScript 2023年5月18日
    00
  • JS前后端实现身份证号验证代码解析

    下面是“JS前后端实现身份证号验证代码解析”的完整攻略。 前言 身份证号是人们最常用的个人身份证明,因此在各个业务场景中,我们经常需要对输入的身份证号进行格式验证。本文将介绍如何使用 JavaScript 在前后端实现身份证号验证,帮助开发者更好地应对业务需求。 方案概述 实现身份证号验证的主要过程如下: 在前端通过 JavaScript 判断用户输入的身份…

    JavaScript 2023年6月10日
    00
  • JavaScript中?. 和??分别是什么详解

    让我来详细讲解JavaScript中?.和??的使用。 ?.运算符 ?.运算符是ES2020(也称为ES11)中的新功能,它是用于简化可选链式调用的一种语法糖。可选链式调用允许我们选择性地访问一个对象的属性,它避免了访问未定义的对象属性时出现的TypeError错误。 示例1: const user = { name: ‘Tom’, age: 25, add…

    JavaScript 2023年5月18日
    00
  • asp.net 防止用户通过后退按钮重复提交表单

    防止用户通过后退按钮重复提交表单的方法有很多种,常见的方法包括以下几个步骤: 使用Post-Redirect-Get(PRG)模式,即在表单提交后,将用户重定向到一个新的页面,该页面不包含表单。这样,用户通过后退按钮返回前一个页面时,就不会再次提交表单。在ASP.NET中,可以使用Response.Redirect方法或者Server.Transfer方法来…

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