[Javascript] Object.keys - 객체의 Key 값 가져오기, Object.value - value값 가져오기
by 개발자 우디데이터를 객체로 다루다보면 key값만 추출해서 따로 사용하거나 value값만 추출해서 사용해야하는 경우가 종종 생긴다.
이럴 때 배열에 돌려서 일일이 꺼내 쓰는건 굉장히 귀찮은 작업이기 때문에,
JS에서는 Object.keys(), Object.values() 라는 메서드를 제공해준다.
TIP
쉽게 설명하자면 특정 객체를 대상으로 key, value 값들만 뽑아서 배열로 리턴하는 함수다.
var obj = { a: 1, b: 2, c: 3 };
var keys = Object.keys(obj);
var values = Object.values(obj);
console.log("결과1:"+keys);
console.log("결과2:"+values);
// 결과1 : [a, b, c]
// 결과2 : [1, 2, 3]
참고로 Object 이다보니 순서는 명확하지 않다.
해당 데이터에 명확한 인덱스(순서)를 알아야 한다면 조금 투박한 방법이지만
var obj = { a: 1, b: 2, c: 3 };
var keys = Object.keys(obj);
var values = Object.values(obj);
console.log("결과1:"+keys);
console.log("결과2:"+values);
// 결과1 : [a, b, c]
// 결과2 : [1, 2, 3]
// 순서 확인
var keys_arr = [];
var vals_arr = [];
keys.sort(); // 이름순으로 정렬
for(var i=0; i < keys.length; i++){
vals_arr.push(values[keys[i]]);
}
console.log("keys 순서대로 정렬된 value 값들 : "+vals_arr);
이런식으로 해서 명확한 인덱스를 찾아도 된다.
블로그의 정보
우디의 개발스터디
개발자 우디