본문 바로가기

Javascript

질문 [JavaScript] 자바스크립트 Object.keys() 사용법, 예제

반응형

JavaScript

Object.keys()

 

 

Object.keys()

-  method returns an array of a given object's own enumerable property names, iterated in the same order that a normal loop would.

해당 객체의 셀 수 있는 속성 이름들을 순서대로 (normal loop would) 반환한다. 

 

e·nu·mer·a·ble   /əˈn(y)o͞omərəb(ə)l/

adjective

MATHEMATICS

  1. able to be counted by one-to-one correspondence with the set of all positive integers.

 

기본 구문  

 Object.keys(obj)

 

 

 

매개 변수  

 

1. obj (객체) 

 

 

 

 

반환 값  

An array of strings that represent all the enumerable properties of the given object.

해당 객체의 모든 대칭될 수 있는 속성들의 이름의 배열을 반환 

 

 

 

 

예제 1

const object1 = { a:'somestring', b:42, c:false,}

console.log(Object.keys(object1))

 

<- 요렇게 객체의 속성 이름만 ( ≠속성값) 배열로 담아낸다. 

 

 

 

예제 2 : array 배열 경우

// simple array 
const arr1 = ['a','b','c'];
console.log(Object.keys(arr1));

const arr2 = [1,2,3,4,5,6,7];
console.log(Object.keys(arr2));

 

 

 

배열의 경우 Object.keys(arr) 를 쓰면 indexOf 값이 배열로 나온다. 

 

 

 

 

 

 

 

예제 3 : 배열같은 객체 경우 

//array-like object with random key ordering

const obj = { 0:'a', 1:'b', 2:'c' };
console.log(Object.keys(obj));

const obj2 = { 100:'a', 2:'b', 30000:'c' };
console.log(Object.keys(obj2));

 

객체의 key값 = 속성 이름들이 배열로 반환된다. 

 

 

 

 

 

 

예제 4  :  속성이 not enumerable 셀 수 없는(대칭 할 수 없는) 경우 

 

// getFoo is a property which isn't enumerable

const obj3 = Object.create({}, {
    getFoo:{
        value : function (){return this.foo;}
    }
})

obj3.foo = 1; 

console.log(Object.keys(obj3)); 
console.log(obj3)

 

 

 

 

 

 

 

반응형