2013-11-20 61 views
0

我有一个对象:如何选择包含定义属性的嵌套对象?

a = { 
    0: { 
     name: 'George' 
    } 
    1: { 
     name: 'James' 
    } 
    smth: { 
     notName: '16' 
    } 
} 

如何选择包含财产name对象(0或1)?是否可以像这样选择它们:a.indexOf('["name"]')

+2

不,但您可以迭代外部对象的属性并测试每个内部对象是否具有该属性。 –

+0

Lodash可以轻松做到这一点。 – SLaks

回答

3

下面返回在嵌套对象name键列表,

var list = []; 
for (key in a) { 
    if (a[key].hasOwnProperty('name')) list.push(key); 
} 

列表应包含["0", "1"]