[javascript] Object 타입에서 특정 값(value)이 있는지 찾기

cateto·2021년 4월 23일
3
post-thumbnail
post-custom-banner

기존 코드 : for in 문을 활용해서 key를 하나씩 꺼내서 확인하기

      outside:
      for(var key in obj.sub){
        if(obj.sub[key]) {
          obj.self = true
          break outside
        }
        obj.self = false
      }

수정 코드 : keys로 키 뽑아서 조건에 해당하는 값 찾기

      const targetObj = obj.sub
      if(Object.keys(targetObj).find(key => targetObj[key] === true)) obj.self = true
      else obj.self = false

Object.keys("오브젝트변수").find(element => "조건식")

Object.keys()는 객체의 키 값을 배열로 반환하고,

.find는 조건에 해당하는 첫번째 엘리먼트를 반환하고
.findIndex는 조건에 해당하는 첫번째 인덱스를 반환하기에
상황에 맞게 사용하면 좋을 것 같다.

profile
Curious for Everything
post-custom-banner

2개의 댓글

멋져부러욤

1개의 답글