2017-12-07 10 views
-1

특정 키 값을 찾으려면 객체가 중첩되어 있는지 확인하십시오.Ramda : 특정 키 값을 찾는 방법은 중첩 된 객체입니까?

위의 예에서 'a'를 찾고 싶습니다. 'b'는 객체 또는 중첩 객체입니까?

+0

const fn = R.pipe(R.prop, R.propSatisfies(R.is(Object), 'area')) const example = { 'a': { 'area': 'abc' }, 'b': { 'area': { 'city': 'aaaa', 'state': 'ggggg' } } } console.log('a:', fn('a', example)) console.log('b:', fn('b', example))
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.25.0/ramda.min.js"></script>

내가 키가, 나. 이제는 객체 또는 중첩 된 객체를 찾아야합니다. –

답변

1

오브젝트의 모든 키에 중첩 오브젝트가 들어 있는지 알고 싶다면 R.mapR.propSatisfies을 사용하여 오브젝트의 모든 값을 부울 값으로 변환하여 중첩 등록 정보가 오브젝트인지 여부를 나타낼 수 있습니다 .

당신은 단지 객체의 특정 키가 중첩 된 개체가 포함되어 있는지 여부를 알고 싶은 경우

const fn = R.map(R.propSatisfies(R.is(Object), 'area')) 
 

 
const example = { 
 
    'a': { 
 
    'area': 'abc' 
 
    }, 
 
    'b': { 
 
    'area': { 
 
     'city': 'aaaa', 
 
     'state': 'ggggg' 
 
    } 
 
    } 
 
} 
 

 
console.log(fn(example))
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.25.0/ramda.min.js"></script>

, 당신은 R.propR.propSatisfies의 조성으로 수행 할 수 있습니다.