我有一個巨大的集合,我正在尋找一個屬性集合內的關鍵某處。獲取包含該鍵/索引的所有對象的引用列表或完整路徑的可靠方法是什麼?我使用jQuery和lodash,如果它有幫助,你可以忘記無限指針遞歸,這是一個純粹的JSON響應。在深層物體中按名稱查找屬性
fn({ 'a': 1, 'b': 2, 'c': {'d':{'e':7}}}, "d");
// [o.c]
fn({ 'a': 1, 'b': 2, 'c': {'d':{'e':7}}}, "e");
// [o.c.d]
fn({ 'aa': 1, 'bb': 2, 'cc': {'d':{'x':9}}, dd:{'d':{'y':9}}}, 'd');
// [o.cc,o.cc.dd]
FWIW lodash具有_.find函數,會發現有兩個窩深嵌套的對象,但似乎在那之後失敗。 (例如http://codepen.io/anon/pen/bnqyh)
這幾乎爲我工作。我不得不將第3行更改爲return [obj [key]];'而是讓我得到一個key值的數組而不是包裝對象 – 2014-07-31 15:40:17
@ChrisMontgomery:是的,但是OP想要「所有對象*包含*那個鍵「(可能他正在對結果進行'pluck()') – Bergi 2014-07-31 16:42:07
@Bergi有意義。您的解決方案適用於我所有的場景,而Al Jey的回答與對象內數組內的對象有關。 – 2014-07-31 17:11:51