Object的相关方法 和 js遍历对象的常用方法总结

我会详细讲解“Object的相关方法和js遍历对象的常用方法总结”的完整攻略。

Object的相关方法

Object 是 JavaScript 的一个基础类型,它包含以下常用的方法:

创建对象

在 JavaScript 中,可以使用以下方法创建一个对象:

  • 字面量方式
let obj = { prop1: 'value1', prop2: 'value2' };
  • 构造函数方式
let obj = new Object();
obj.prop1 = 'value1';
obj.prop2 = 'value2';

操作属性

可以使用以下方法操作对象的属性:

  • 获取属性值
let value = obj.prop;
  • 设置属性值
obj.prop = 'new value';
  • 判断是否存在属性
if ('prop' in obj) {
  // do something
}
  • 删除属性
delete obj.prop;

判断类型

可以使用以下方法判断对象的类型:

  • typeof 操作符
let type = typeof obj;
  • Object.prototype.toString 方法
let type = Object.prototype.toString.call(obj);

其他方法

  • Object.keys()

获取对象上的所有可枚举属性。

let keys = Object.keys(obj);
  • Object.values()

获取对象上的所有可枚举属性的值。

let values = Object.values(obj);

js遍历对象的常用方法总结

在 JavaScript 中,遍历对象有以下几个常用的方法:

for...in 循环

使用 for...in 循环可以遍历一个对象的所有可枚举属性。

for (let prop in obj) {
  console.log(obj[prop]);
}

但是需要注意的是,for...in 循环会遍历对象的原型链上的所有可枚举属性,因此可能会导致意外的属性被遍历。

Object.keys() 方法

Object.keys() 方法可以获取一个对象上的所有可枚举属性,可以结合 Array.prototype.forEach() 方法来遍历这些属性。

Object.keys(obj).forEach((key) => {
  console.log(obj[key]);
});

Object.getOwnPropertyNames() 方法

Object.getOwnPropertyNames() 方法可以获取一个对象上的所有属性,包括不可枚举属性,可以结合 Array.prototype.forEach() 方法来遍历这些属性。

Object.getOwnPropertyNames(obj).forEach((prop) => {
  console.log(obj[prop]);
});

Object.getOwnPropertySymbols() 方法

Object.getOwnPropertySymbols() 方法可以获取一个对象上的所有 Symbol 类型的属性,可以结合 Array.prototype.forEach() 方法来遍历这些属性。

Object.getOwnPropertySymbols(obj).forEach((symbol) => {
  console.log(obj[symbol]);
});

示例1:

let obj = {
  name: '张三',
  age: 18,
  gender: '男',
};

for (let prop in obj) {
  console.log(prop);
  console.log(obj[prop]);
}

let keys = Object.keys(obj);
keys.forEach((key) => {
  console.log(key);
  console.log(obj[key]);
});

输出结果:

name
张三
age
18
gender
男
name
张三
age
18
gender
男

示例2:

let obj = { [Symbol('a')]: 1, [Symbol('b')]: 2 };

Object.getOwnPropertySymbols(obj).forEach((symbol) => {
  console.log(obj[symbol]);
});

输出结果:

1
2

希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Object的相关方法 和 js遍历对象的常用方法总结 - Python技术站

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

相关文章

  • 常用JS代码实例小结

    下面是详细讲解“常用JS代码实例小结”的完整攻略。 标题 常用JS代码实例小结 简介 随着JavaScript的不断发展和应用,越来越多的前端开发人员需要使用JavaScript编写实际项目。但是JavaScript语法比较复杂,需要掌握一定的编程技巧才能高效地完成工作。本篇文章将提供常用JS代码实例,并给出相应的解释和代码解读,希望有所帮助。 正文 以下是…

    JavaScript 2023年5月18日
    00
  • 浅谈JS原生Ajax,GET和POST

    浅谈JS原生Ajax,GET和POST 什么是Ajax? Ajax,指的是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),是一种无需重新加载整个页面就能实现局部更新的技术。它是通过在后台与服务器进行少量数据交换来实现这一目标的。这意味着可以实现快速动态更改网页内容,更好的用户体验。 Ajax的优缺点…

    JavaScript 2023年6月11日
    00
  • js中递归函数的使用介绍

    JS中递归函数的使用介绍 什么是递归函数? 递归函数是指在函数定义中调用自身的函数。通过使用递归函数,可以将一个大问题逐渐分解为若干个小问题,从而更容易解决。递归函数是一个强有力的工具,它在许多编程语言中广泛使用。 如何使用递归函数? 最简单的递归函数定义只是一个条件判断和一个递归调用。如下所示: function recursiveFunc(param) …

    JavaScript 2023年5月27日
    00
  • javascript中导出与导入实现模块化管理教程

    以下是对“javascript中导出与导入实现模块化管理教程”的完整攻略: JavaScript中导出与导入实现模块化管理教程 为什么需要模块化? 在编写JavaScript代码时,代码量可能会变得非常庞大和复杂,由于所有逻辑都在同一个js文件中,导致代码结构混乱,代码复用性不高。 随着代码量的增大,我们会面临着不好维护的代码库、命名冲突、团队开发、性能和可…

    JavaScript 2023年5月27日
    00
  • ascii码表(二进制 十进制 十六进制)详细介绍

    ASCII码表(二进制、十进制、十六进制)详细介绍 什么是ASCII码表? ASCII码表(American Standard Code for Information Interchange)是一种用于将字符编码为数字的字符编码标准。它最初是在美国为电传打字机而设计的,但现在已经成为计算机系统和通信设备中使用的标准字符集。 ASCII码表的编码方式 ASC…

    JavaScript 2023年5月19日
    00
  • 前端vue按1920*1080设计图的页面适配屏幕缩放并适配4K屏详解

    前端vue按1920*1080设计图的页面适配屏幕缩放并适配4K屏详解 在vue前端开发中,实现页面屏幕适配非常重要,你需要让你的网站在不同的屏幕上都能够正常显示,无论是普通的屏幕还是4K屏幕。本攻略将提供实现此目标的方法。 1. 页面设计 为了实现一个自适应的vue页面,你需要先将页面设计成1920*1080的尺寸,这是一个通用的页面尺寸。这个设计尺寸将帮…

    JavaScript 2023年6月11日
    00
  • javascript设计简单的秒表计时器

    以下是“JavaScript设计简单的秒表计时器”的完整攻略: 概述 秒表计时器是一个常见的应用,可用于计时各种活动或事件。在本教程中,我们将使用 JavaScript、HTML 和 CSS 创建一个简单的秒表计时器。 步骤 1. 创建HTML结构 首先,我们需要在HTML中创建计时器的结构。计时器将包含一个显示时间的数字和三个按钮:开始、停止和重置。 &l…

    JavaScript 2023年5月27日
    00
  • js重写方法的简单实现

    我们来详细讲解一下”JS重写方法的简单实现”。 什么是JS重写方法? JS重写方法是指在类或对象已经存在的情况下,将已存在的某一方法进行改写或者扩展。 如何重写方法? JS重写方法可以通过prototype来实现。我们可以定义一个新的方法并将其赋值给已存在的方法名。 下面是一个关于JS重写方法的简单示例: //定义一个Dog类 function Dog(na…

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