let testObj = {
a:"1"
b:"2"
c:"3"
d:"4"
}
Q) testObj
가 value="2"
를 가지고 있는지 확인하는 방법을 알아보겠습니다
Object.entries
for..in
Object.keys
객체 자체의 enumerable 속성
[key, value]
쌍의 배열을 반환합니다
for( const [key, value] of Object.entries(testObj)) {
if( value === "2") return true;
}
return false;
for (const property in testObj){
if ( testObj[property] === "2") return true
}
return false
배열에서는
for...in
을 사용하면 안됩니다 - by MDN
반복되는 순서는 구현에 따라 다르기 때문에, 배열의 반복이 일관된 순서로 요소를 방문하지 못할 수도
있습니다
var a = [];
a[5] = 5; // Perfectly legal JavaScript that resizes the array.
for (var i = 0; i < a.length; i++) {
console.log(a[i]);
}
/* Will display:
undefined
undefined
undefined
undefined
undefined
5
*/
---------------------------------
var a = [];
a[5] = 5;
for (var x in a) {
// Shows only the explicitly set index of "5", and ignores 0-4
console.log(x);
}
/* Will display:
5
*/
Object의 모든 value를 가진
배열
을 반환합니다
return Object.values(testObj).includes("2");
마찬가지로 모든 key
를 찾고 싶을 때는 Object.keys
를 사용하면 됩니다
Object.entries
가 가장 우수한 결과를 보여줍니다