我想知道在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];
}
我在谷歌上找不到类似的。他们说要传递变量的名称,但这不是我要实现的一个选项。
谢谢你能提供的任何帮助。
当前回答
获取对象的属性或“数组键”或“数组索引”,具体取决于您的母语是什么.....使用Object.keys()方法。
重要的是,这只与“现代浏览器”兼容:
如果你的对象叫做myObject。
var c = 0;
for(c in myObject) {
console.log(Object.keys(myObject[c]));
}
要人!这绝对适用于最新的firefox、ie11和chrome…
下面是MDN的一些文档 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
其他回答
从2018年开始,您可以使用Developer Mozilla Documentation中描述的Object.getOwnPropertyNames()
const object1 = {
a: 1,
b: 2,
c: 3
};
console.log(Object.getOwnPropertyNames(object1));
// expected output: Array ["a", "b", "c"]
获取对象的属性或“数组键”或“数组索引”,具体取决于您的母语是什么.....使用Object.keys()方法。
重要的是,这只与“现代浏览器”兼容:
如果你的对象叫做myObject。
var c = 0;
for(c in myObject) {
console.log(Object.keys(myObject[c]));
}
要人!这绝对适用于最新的firefox、ie11和chrome…
下面是MDN的一些文档 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
您可以轻松地在对象中迭代
例:如果对象是 var ={答:“苹果”,乙:“球”,c:‘猫’,d:“娃娃”,e:‘大象’};
Object.keys(a).forEach(key => {
console.log(key) // returns the keys in an object
console.log(a[key]) // returns the appropriate value
})
通过位置直接访问对象属性… 一般用于属性[0]…所以它包含了进一步… 或者在node.js的require中。缓存[0]'为第一个加载的外部模块,等等。
Object.keys( myObject )[ 0 ]
Object.keys( myObject )[ 1 ]
...
Object.keys( myObject )[ n ]
使用种():
var myObject = (a)“c”,(b)“a”,(c)“b”; var keyNames = Object.keys(myObject); 游戏机。log (keyNames);输出(“a”、“b”、“c”)
object. keys()提供了一个属于输入对象的属性名数组。