我想知道 JavaScript 中是否有任何方法可以像这样循环遍历对象。
for(var i in myObject) {
// ...
}
但是像这样获取每个属性的名称。
for(var i in myObject) {
separateObj[myObject[i].name] = myObject[i];
}
我似乎在谷歌上找不到类似的东西。他们说要与他们一起传递变量的名称,但这不是我想要实现的选择。
谢谢你的尽心帮助。
我想知道 JavaScript 中是否有任何方法可以像这样循环遍历对象。
for(var i in myObject) {
// ...
}
但是像这样获取每个属性的名称。
for(var i in myObject) {
separateObj[myObject[i].name] = myObject[i];
}
我似乎在谷歌上找不到类似的东西。他们说要与他们一起传递变量的名称,但这不是我想要实现的选择。
谢谢你的尽心帮助。
i
是名字。
for(var name in obj) {
alert(name);
var value = obj[name];
alert(value);
}
所以你可以这样做:
seperateObj[i] = myObject[i];
var myObject = { a: 'c', b: 'a', c: 'b' };
var keyNames = Object.keys(myObject);
console.log(keyNames); // Outputs ["a","b","c"]
Object.keys()
为您提供属于输入对象的属性名称数组。
免责声明 我误解了这个问题:“我可以知道一个对象所附加的属性名称吗”,但选择留下答案,因为有些人可能会在搜索时到这里。
不,一个对象可以附加到多个属性,因此它无法知道它的名称。
var obj = {a:1};
var a = {x: obj, y: obj}
obj 的名字是什么?
您确定您不只是想要 for 循环中的属性名称吗?
for (var propName in obj) {
console.log("Iterating through prop with name", propName, " its value is ", obj[propName])
}
您可以轻松地迭代对象
例如:如果对象是 var a = {a:'apple', b:'ball', c:'cat', d:'doll', e:'elephant'};
Object.keys(a).forEach(key => {
console.log(key) // returns the keys in an object
console.log(a[key]) // returns the appropriate value
})
用于按位置直接访问对象属性...通常对属性 [0] 有用...因此它包含有关进一步...或第一个加载的外部module的 node.js 'require.cache[0]' 的信息等等等等。
Object.keys( myObject )[ 0 ]
Object.keys( myObject )[ 1 ]
...
Object.keys( myObject )[ n ]