如何在 JavaScript 中获取对象的长度

Kirill Ibrahim 2023年1月30日 2020年11月24日
  1. 使用 Object.keys() 方法来获取 JavaScript 中对象的长度
  2. 在 JavaScript 中使用 for...in 循环来获取一个对象的长度
如何在 JavaScript 中获取对象的长度

我们想在 JavaScript 中获得一个对象的长度,但对象没有长度属性。只有数组和字符串才有 length 属性。

let object1 = {name: "Mark", age:30};
let string1 = 'Delftstack';
let array1 = [1,2,3];
console.log(object1.length);
console.log(string1.length);
console.log(array1.length);

输出:

undefined
10 
3

我们将介绍不同的方法来获取 JavaScript 中对象的长度。

使用 Object.keys() 方法来获取 JavaScript 中对象的长度

Object.keys() 方法返回一个 Object 的属性数组。我们使用 length 属性来获取键的数量。

例子:

const getLengthOfObject = (obj) => {
  let lengthOfObject = Object.keys(obj).length; 
  console.log(lengthOfObject);
}

getLengthOfObject({ id: 1, name: 'Mark', age: 30 } );

输出:

3

在 JavaScript 中使用 for...in 循环来获取一个对象的长度

它迭代对象的属性,并将在循环中增加属性的计数器。

例子

const getLengthOfObject = (obj) => {
  
  let length0fObject = 0;
  
  for(let key in obj){
    length0fObject++;
  }

  console.log(length0fObject);
  return length0fObject;
} 

getLengthOfObject({ id: 1, name: 'Mark', age: 30 } );

输出:

3

示例:输出

const getLengthOfObject = (obj) => {
  
  let length0fObject = 0;
  
  for(let key in obj){
     if (obj.hasOwnProperty(key)){
           length0fObject++;
     }
  }

  console.log(length0fObject);
  return length0fObject;
} 

getLengthOfObject({ id: 1, name: 'Mark', age: 30, country: "USA", job: "software developer" } );

hasOwnProperty() 函数是 JavaScript 中的一个内置函数,用于检查对象是否拥有指定的属性,它根据对象是否拥有指定的属性返回 truefalse

相关文章 - JavaScript Object