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

Kirill Ibrahim 2023年10月12日
  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