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

标签 javascript object runtime dynamically-generated members

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

好的,所以我要做的是在运行时动态获取数组(或您可能会说的对象)成员的名称。

让我解释一下。我有一个这样的对象:

结果:-
member_name1 : value_1
member_name2 : value_2
member_name3 : value_3

这里,Result 是对象的名称,它有 member_name1member_name2 等成员,你有 这样的值value_1value_2 分别。我想要做的是在运行时获取像 member_name1 这样的成员的名字;不是它的值(value)。我通常通过 Results.member_name1 访问该值。

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

下面是对象的截图:

http://i.stack.imgur.com/dzAgm.png

谢谢!

最佳答案

假设 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 的更多信息 on MDN .

关于javascript - 在运行时动态获取javascript中数组成员的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9530020/

相关文章:

javascript - Material-UI样式: convert functional component to class component

javascript - Electron/JavaScript : Detect when window is un/maximized

javascript - 递归过滤/减少嵌套对象

java - java中不同的数据类型

rust - 在 Rust 中推送运行时操作以编译时间?

javascript - jQuery .append() 一行有多个#id?

JavaScript for 循环 innerHTML 返回未定义

Javascript 从对象数组中的对象数组获取对象数组

Java 反射 : How do I override or generate methods at runtime?

docker - 无法在docker上执行nvidia运行时