如何获取JavaScript对象的长度

3,111 阅读3分钟

简介

对象是用来存储一组属性的,每个属性都可以被认为是一个名称(或键)和一个值(键值对的集合)之间的联系。

在本指南中,我们将学习如何获得一个JavaScript对象的长度。

检查一个对象的长度并不是一个常见的基本操作;然而,了解如何完成这个操作并避免一些不必要的错误是至关重要的。该对象默认没有length 属性。length 属性只对数组和字符串有效。

比如说:

let myObject = {firstName: "John", lastName: "Doe"};
let myString = 'John Doe';
let myArray = [71, 32, 78, 54];

console.log(myObject.length); // undefined
console.log(myString.length); // 8
console.log(myArray.length); // 4

在JavaScript中,基本上有两种方法可以获得一个对象的长度:使用任何一个对象的静态方法或for...in 循环方法。让我们先创建一个对象,可以使用对象字面语法或使用new关键字。

let subjectScores = {
    chemistry: 40,
    mathematics: 70,
    physics: 90,
    english: 68,
    biology: 77
};

//Or

let subjectScores = new Object();

subjectScores["chemistry"] = 40;
subjectScores["mathematics"] = 70;
subjectScores["physics"] = 90;
subjectScores["english"] = 68;
subjectScores["biology"] = 77;

用对象静态方法获取对象的长度

静态方法是预先定义的方法,我们可以在任何对象上访问。为了确定一个对象的长度,我们可以使用对象静态方法,如Object.keys(),Object.values(), 和Object.entries() 。这些方法返回键、值或键值对作为数组,允许我们使用length 属性来确定对象的长度。

**注意:**属性是定义一个对象的键值对。一个对象中的每个属性都被赋予一个名称(也称为键)和一个值(也称为值)。根据你想列举的属性,你可以分别提取keys()values() ,或者entries() ,它们是键值对。

获取对象的长度与Object.keys()

Object.keys() 方法返回一个Object 的属性数组,然后我们将利用length 属性来获得数组中的元素数(对象的长度)。例如,利用我们在本文开始时创建的对象。

let objectLength = Object.keys(subjectScores).length; 
console.log(objectLength); // 5

获取对象的长度Object.values()

Object.values() 方法返回一个数组,其中包含Object 的值。我们还将利用length 属性来获得元素的数量。例如,利用我们在本文开始时创建的对象。

let objectLength = Object.values(subjectScores).length; 
console.log(objectLength); // 5

获取对象的长度与Object.entries()

Object.entries() 方法返回一个Object 的键值对的数组。我们可以利用length 属性来获得元素的数量。例如,利用我们在本文开始时创建的对象。

let objectLength = Object.entries(subjectScores).length; 
console.log(objectLength); // 5

使用for…in 循环获取对象的长度

for…in 循环是用来迭代对象的属性的。为了获得长度,我们所要做的就是创建一个变量,只要循环继续,就增加计数器。

let objectLength = 0;

for (let key in subjectScores) {
    objectLength++;
}

console.log(objectLength); // 5

总结

在这篇文章中,我们已经学会了如何通过静态方法或通过for…in 方法进行循环来获得一个对象的长度。