2016-02-26 128 views
0

爲什麼總是返回false?在嵌套對象中查找鍵

var dependsOn = { 
 
    "Cadastro": { 
 
    "RHID": "RHID" 
 
    }, 
 
    "Agregados": { 
 
    "CD_DOC": "CD_DOC" 
 
    }, 
 
    "Documentos": { 
 
    "RHID": "CD_DOC" 
 
    } 
 
} 
 
var field = 'RHID' 
 

 
_.mapKeys(dependsOn, function(value, key) { 
 
    if (_.some(dependsOn[key], function(o) { 
 
     return _.has(o, field); 
 
    })) { 
 
    console.log(key); 
 
    } 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

+0

在你的小提琴_.keys(dependsOn)將返回0: 「Cadastro」 1: 「Agregados」 2: 「Documentos」 所以應該返回false。 –

+0

http://stackoverflow.com/a/35655548/1988157 – stasovlas

回答

0
_.findKey(dependsOn, field); // 
+0

感謝soved與_.mapKeys(myObj.dependsOn,函數(值,關鍵){ if(_.has(myObj.dependsOn [key],myObj.dbColumns [i] [「db」])){ var val = myObj.dbColumns [i] [「nxt_value」] = window [key] .dbColumns [i] [「prv_value」]; where_str + ='AND '+ myObj.dbColumns [i] [「db」] + myObj.conditionClause(window [key] .dbColumns [i] [「prv_value」],「=」); debugger; } }); –