Javascript 如何选择包含已定义属性的嵌套对象?

Javascript 如何选择包含已定义属性的嵌套对象?,javascript,jquery,Javascript,Jquery,我有一个目标: a = { 0: { name: 'George' } 1: { name: 'James' } smth: { notName: '16' } } 如何选择包含属性名称(0或1)的对象?是否可以像下面的表达式那样选择它们:a.indexOf('[“name”]')?下面返回嵌套对象中具有名称的键列表 var list = []; for (key in a) { if (a[

我有一个目标:

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

如何选择包含属性
名称
(0或1)的对象?是否可以像下面的表达式那样选择它们:
a.indexOf('[“name”]')

下面返回嵌套对象中具有
名称的键列表

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

列表应包含
[“0”,“1”]
下面返回嵌套对象中具有
名称的键列表

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

列表应包含
[“0”,“1”]
下面返回嵌套对象中具有
名称的键列表

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

列表应包含
[“0”,“1”]
下面返回嵌套对象中具有
名称的键列表

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

列表应该包含
[“0”,“1”]

否。但您可以迭代外部对象的属性,并测试每个内部对象是否具有该属性。Lodash可以轻松完成此操作。否。但是您可以迭代外部对象的属性,并测试每个内部对象是否具有该属性。但是您可以迭代外部对象的属性,并测试每个内部对象是否具有该属性。但是您可以迭代外部对象的属性,并测试每个内部对象是否具有该属性。