获取对象的属性名称

2022-08-30 01:24:35

我想知道在JavaScript中是否有任何方法可以循环访问这样的对象。

for(var i in myObject) {
    // ...
}

但是像这样获取每个属性的名称。

for(var i in myObject) {
    separateObj[myObject[i].name] = myObject[i];
}

我似乎在谷歌上找不到类似的东西。他们说要与他们一起传递变量的名称,但对于我试图实现的目标来说,这不是一个选择。

感谢您提供的任何帮助。


答案 1

i是名称。

for(var name in obj) {
    alert(name);
    var value = obj[name];
    alert(value);
}

所以你可以做:

seperateObj[i] = myObject[i];

答案 2

Use Object.keys():

var myObject = { a: 'c', b: 'a', c: 'b' };
var keyNames = Object.keys(myObject);
console.log(keyNames); // Outputs ["a","b","c"]

Object.keys()为您提供一个属于输入对象的属性名称数组。