Oli*_*cal 170 javascript properties object
我想知道在JavaScript中是否有任何方法可以循环遍历这样的对象.
for(var i in myObject) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
但是得到这样的每个属性的名称.
for(var i in myObject) {
separateObj[myObject[i].name] = myObject[i];
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法在谷歌上找到类似的东西.他们说要用它们传递变量的名称,但这不是我想要实现的选项.
谢谢你尽你所能的帮助.
Jos*_*ell 187
i
是名字.
for(var name in obj) {
alert(name);
var value = obj[name];
alert(value);
}
Run Code Online (Sandbox Code Playgroud)
所以你可以这样做:
seperateObj[i] = myObject[i];
Run Code Online (Sandbox Code Playgroud)
小智 146
var myObject = { a: 'c', b: 'a', c: 'b' };
var keyNames = Object.keys(myObject);
console.log(keyNames); // Outputs ["a","b","c"]
Run Code Online (Sandbox Code Playgroud)
Object.keys()
为您提供属于输入对象的属性名称数组.
Jua*_*des 17
免责声明 我误解了这个问题:"我能否知道对象附加到的属性名称",但是选择留下答案,因为有些人可能会在搜索时结束.
不,一个对象可以附加到多个属性,因此无法知道其名称.
var obj = {a:1};
var a = {x: obj, y: obj}
Run Code Online (Sandbox Code Playgroud)
obj的名字是什么?
你确定你不只是想要for循环中的属性名称吗?
for (var propName in obj) {
console.log("Iterating through prop with name", propName, " its value is ", obj[propName])
}
Run Code Online (Sandbox Code Playgroud)
除了“Object.keys( obj )”之外,我们还有非常简单的“for...in”循环 - 它循环对象的可枚举属性名称。
const obj = {"fName":"John","lName":"Doe"};
for (const key in obj) {
//This will give key
console.log(key);
//This will give value
console.log(obj[key]);
}
Run Code Online (Sandbox Code Playgroud)
用于按位置直接访问对象属性...通常对属性 [0] 有用...因此它保存有关进一步...的信息...或在 node.js 'require.cache[0]' 中为第一个加载的外部模块等等等等。
Object.keys( myObject )[ 0 ]
Object.keys( myObject )[ 1 ]
...
Object.keys( myObject )[ n ]
Run Code Online (Sandbox Code Playgroud)
你可以轻松地迭代对象
例如:如果对象是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
})
Run Code Online (Sandbox Code Playgroud)