July 24th 2018
한 객체가 몇 개의 Property를 가지고 있는지 알 수 있는 방법에 대해 알아보겠습니다.
var obj = {
a: 1,
b: 2,
c: 3
};
먼저, for loop로 propery의 개수 만큼 반복문을 만들고, 반복문이 한 번씩 실행될 때마다 카운트를 할 수 있습니다.
function countNumberOfKeys(obj) {
var sum = 0;
for (let i in obj) {
sum++;
}
return sum;
}
또는
function countNumberOfKeys(obj) {
var sum = 0;
for (let i in obj) {
if (obj.hasOwnProperty(i)) {
sum++;
}
}
return sum;
}
배열에는 length 속성이 있지만, Object에는 length가 없습니다. 대신 Object.keys() method 사용할 수 있습니다. Object.keys()는 key값을 요소로 하는 배열을 반환합니다.
function countNumberOfKeys(obj) {
var count = Object.keys(obj).length;
return count;
}
Object.keys(obj).length => ['a', 'b', 'c']['a', 'b', 'c'].length => 3