Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 JSON 객체의 길이(크기)를 구하는 가장 좋은 방법

JavaScript에서 객체(Object)의 크기를 구한다는 것은, 해당 객체가 가지고 있는 속성(property)의 개수를 세는 것을 의미합니다. 배열이라면 length 속성으로 간단히 확인할 수 있지만, 일반 객체나 JSON 객체에는 이러한 내장 속성이 없기 때문에 몇 가지 방법을 활용해야 합니다.

예제 객체 준비

먼저 다음과 같은 객체가 있다고 가정해 보겠습니다.

const obj = {
    name: "Ramesh",
    age: 34,
    occupation: "HR Manager",
    address: "Tilak Nagar, New Delhi",
    experience: 13
};

이 객체에는 총 5개의 속성이 있습니다. 우리는 JavaScript 함수를 작성하여 객체의 크기, 즉 속성의 개수를 계산해야 합니다.

방법 1: for...in 루프와 hasOwnProperty() 사용

전통적인 방식으로는 for...in 루프를 사용하여 객체의 모든 키를 순회하고, hasOwnProperty() 메서드로 상속된 속성을 제외한 자체 속성만 카운트하는 방법이 있습니다.

const obj = {
    name: "Ramesh",
    age: 34,
    occupation: "HR Manager",
    address: "Tilak Nagar, New Delhi",
    experience: 13
};

Object.prototype.size = function(obj) {
    let size = 0, key;
    for (key in obj) {
        if (obj.hasOwnProperty(key)) {
            size++
        };
    };
    return size;
};

const size = Object.size(obj);
console.log(size);

출력 결과

콘솔에 출력되는 결과는 다음과 같습니다.

5

방법 2: Object.keys() 사용 (권장)

현대적인 JavaScript(ES5 이상) 환경에서는 Object.keys() 메서드를 사용하는 것이 가장 간결하고 안전한 방법입니다. 이 메서드는 객체의 자체 열거 가능한 속성 이름들을 배열로 반환하므로, 배열의 length를 확인하면 됩니다.

const size = Object.keys(obj).length;
console.log(size); // 5

이 방법은 프로토타입을 직접 수정하지 않으므로 코드 충돌 위험이 없고, 가독성도 뛰어납니다. 특별한 이유가 없다면 Object.keys().length 방식을 사용하는 것을 권장합니다.