在 JavaScript 中计算对象中的键的数量

Shraddha Paghdar 2023年10月12日
  1. 使用 Object.keys() 计算 JavaScript 中对象内的键的数量
  2. 在 JavaScript 中使用 Map() 来计算对象中的键的数量
在 JavaScript 中计算对象中的键的数量

在许多不同的编程语言中,JavaScript 中的对象经常与现实生活中的对象进行比较。JavaScript 中对象的概念类似于现实生活中的对象。

在 JavaScript 中,对象是一个独立的实体。这个实体有它的属性和类型。

例如,将其与手机或笔记本电脑进行比较。移动/笔记本电脑是具有属性的对象。

移动/笔记本电脑具有颜色、设计、重量、材料、操作系统等。类似地,JavaScript 对象可以具有定义其属性的属性。

在今天的文章中,我们将学习如何在 JavaScript 中计算对象中键的数量。

使用 Object.keys() 计算 JavaScript 中对象内的键的数量

JavaScript 对象具有关联的属性。对象的属性可以声明为附加到 Object 的变量。

对象的属性定义了对象的属性。你可以使用简单的点符号访问对象的属性。

此方法返回给定对象的可枚举属性名称数组,以与正常循环类似的顺序重复。

Object.keys() 返回一个数组。该数组包含与直接在对象上找到的可枚举属性相对应的字符串元素。

属性的顺序与手动滚动对象属性所提供的顺序相同。

语法:

Object.keys(inputObject)

inputObject 是要返回其可枚举自身属性的输入参数。它返回一个字符串数组,表示指定 Object 的所有可枚举属性。

你可以在 Object.keys() 的文档中找到有关 Object.keys 的更多信息。

例子:

const object = {
  fruit: 'apple',
  vegetable: 'tomato'
} console.log(Object.keys(object).length)

当你在任何浏览器中运行上述代码时,你将获得以下输出。

输出:

2

在 JavaScript 中使用 Map() 来计算对象中的键的数量

Map 对象包含类似于 JavaScript Object 的键值对,但它记住键的原始插入顺序。对象和原始值可以用作键或值。

Map 对象按插入顺序迭代其元素:JavaScript 的 for...of 循环返回一个键的数量组,其值类似于每次迭代的 JavaScript 对象。

Objectmap 共享相同的属性:它们都允许你执行诸如设置键到值、删除键、检索这些值以及检测是否存储在键中的操作。出于这个原因,过去将 Object 用作 Map

元素的数量很容易从它的 size 属性中获得。对象中的元素数量必须手动确定。

本质上,Map 会跟踪它的大小,所以我们只是返回一个数字字段。它比任何其他方法都快得多。

控制对象后,将其转换为地图对象。在 Map() 的文档中找到有关 Map 的更多信息。

例子:

const testMap = new Map()
testMap.set('fruit', 'apple')
testMap.set('vegetable', 'tomato')

console.log(testMap.size)

在上面的 JavaScript 示例中,我们正在创建 Map 对象的新实例。创建实例后,我们将设置对象的属性。

当你在任何浏览器中运行上述代码时,你将获得以下输出。

输出:

2
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

相关文章 - JavaScript Object