在运行时动态获取javascript中数组成员的名称

在运行时动态获取javascript中数组成员的名称,javascript,object,runtime,dynamically-generated,members,Javascript,Object,Runtime,Dynamically Generated,Members,首先,我不确定它在javascript中是否真的可行,但我仍然觉得值得一问 好的,我要做的是获取数组或对象成员的名称,就像您在运行时动态地说的那样 让我解释一下。我有一个这样的物体: 结果:- 成员名称1:值1 成员名称2:值2 成员名称3:值3 这里,结果是对象的名称,该对象有成员,如member_name1、member_name2等,并且分别有值,如value_1和value_2。我想做的是在运行时获取成员的名称,比如member_name1;不是因为它的价值。我通常通过Results.m

首先,我不确定它在javascript中是否真的可行,但我仍然觉得值得一问

好的,我要做的是获取数组或对象成员的名称,就像您在运行时动态地说的那样

让我解释一下。我有一个这样的物体:

结果:- 成员名称1:值1 成员名称2:值2 成员名称3:值3

这里,结果是对象的名称,该对象有成员,如member_name1、member_name2等,并且分别有值,如value_1和value_2。我想做的是在运行时获取成员的名称,比如member_name1;不是因为它的价值。我通常通过Results.member_name1访问该值

我希望我能够描述这个问题

下面是该对象的屏幕截图:

谢谢

假设obj是您的对象,您可以通过以下方式获取其所有属性的名称:

var names = [];

for(var name in obj) {
    names.push(name);
}
但是,请注意,这也将获取通过其类的prototype属性对obj进行的任何扩展。如果要排除这些属性,而只获取在obj本身上定义的属性,可以使用

for(var name in obj) {
    if(obj.hasOwnProperty(name)) {
        names.push(name);
    }
}
有关for…in.

的详细信息假定obj是您的对象,您可以通过以下方式获取其所有属性的名称:

var names = [];

for(var name in obj) {
    names.push(name);
}
但是,请注意,这也将获取通过其类的prototype属性对obj进行的任何扩展。如果要排除这些属性,而只获取在obj本身上定义的属性,可以使用

for(var name in obj) {
    if(obj.hasOwnProperty(name)) {
        names.push(name);
    }
}

有关for…in.的更多信息。

您可以使用JavaScript for construct访问它们。考虑以下事项:

var member_names = [],
    data = {
        foo1: 'bar1',
        foo2: 'bar2',
        foo3: 'bar3',
    };

​for (var i in data) {
    member_names.push(i);
}

console.log(member_names);

​这里有一个名为*member_names*的空数组和您的数据对象。在我们的循环中,我将引用属性名,因此您可以将其推送到member_names数组中,然后在那里访问它们。

您可以使用JavaScript for construct访问它们。考虑以下事项:

var member_names = [],
    data = {
        foo1: 'bar1',
        foo2: 'bar2',
        foo3: 'bar3',
    };

​for (var i in data) {
    member_names.push(i);
}

console.log(member_names);
​这里有一个名为*member_names*的空数组和您的数据对象。在我们的循环中,我将引用属性名,因此您可以将其推送到member_names数组中,然后在那里访问它们