getKeys(data,str)를 실행하는 트리 구조가 있습니다. 문자열str가 데이터에 있는 모든 상위 노드의 이름을 가져옵니다.

1858 단어
하나의 트리 구조로 getKeys(data,str)를 실현한다.데이터에서 문자열str의 모든 상위 노드의 이름을 가져옵니다. 예를 들어,
getKeys(data,'str1')가'key1'반환
getKeys(data,'str3')가'key2 key3'반환
getKeys(data,'str6')가'key2 key5 key6'반환
코드는 다음과 같습니다.
var data = {
    key1: 'str1',
    key2: {
        key3: 'str3',
        key4: 'str4',
        key5: {
            key6: 'str6'
        }
    }
}
function getKeys(data, val) {
    for (var key in data) {
        if (typeof data[key] === 'object') {
            var t = getKeys(data[key], val)
            return t ? key + ' ' + t : ''
        } else {
            if (data[key] === val)
                return key;
        }
    }
}

console.log(getKeys(data, 'str6'));

좋은 웹페이지 즐겨찾기