지난 글에서 만든 객체를 그대로 가지고 와서 객체 접근을 정리해보려고 한다.
var ahyun = {
name : 'ahyun',
age : 25,
hi : function(){
console.log(this.name +' '+ 'hello!'
}
}
객체.key
: 마침표로 접근console.log(ahyun.name); // 'ahyun'
console.log(ahyun.age); // 25
console.log(ahyun.hi()); // 'ahyun hello!'
객체['key']
: 대괄호로 접근, 따옴표로 감싸기console.log(ahyun['name']); // 'ahyun'
console.log(ahyun['age']); // 25
console.log(ahyun['hello']()); // 'ahyun hello!'
Object.keys()
: 객체의 키값들을 배열로 반환console.log(Object.keys(ahyun)); // ['name', 'age', 'hi']
Object.values()
: 객체의 속성값들을 배열로 반환console.log(Object.values(ahyun)); // ['ahyun', 25, ƒ]
Object.keys()
를 통해서 객체의 key값들의 배열을 뽑아내고value
를 비교해서 값을 찾아낸다Array.find()
undefined
를 반환function getKeyByValue(obj, value) {
return Object.keys(obj).find(key => obj[key] === value);
}
let myObj = {1: 'a', 2: 'b', 3: 'c', 4: 'd'};
let key = getKeyByValue(myObj, 'c');
console.log(key); // 3
key = getKeyByValue(myObj, 'a');
console.log(key); // 1
key = getKeyByValue(myObj, 'javascript');
console.log(key); // undefined
find()
const arr1 = [5, 12, 8, 130, 44];
const found = arr1.find(element => element > 10);
console.log(found); // 12