【发布时间】:2014-09-08 09:05:23
【问题描述】:
我很好奇,但 Google 没有在这方面提供帮助...
我们正在寻找一种整洁的方式来使用对象键(它是一个包含函数的对象),同时还可以干净地访问键名。
var obj={'key1':'val1','key2':'val2','key3':'val3'};
要在循环中获取所需的键名,我们这样做:编辑:这是错误的!
for(var i=0;i<obj.length;i++){
console.log(Object.keys(obj)[i]);
}
但是这种循环有可能吗?
for(var k in obj){
//?
}
我在使用 && 之前见过组合循环。 JavaScript 是否能够优雅地结合两者?
在不破坏标准循环的情况下,我得到的最接近的是:
var i=0;
for(var k in obj){
console.log(Object.keys(obj)[i]);
i++;
}
但它并不优雅,也不是很有创新性,它更像是一种解决方法,因为 'i' 是在循环之外声明的。我们尝试过的所有其他内容都出错了。
【问题讨论】:
-
您的第一个循环甚至无效。
obj.length未定义,因为obj,正如您定义的那样,是一个对象而不是数组。 -
谢谢,我觉得我的大脑已经筋疲力尽了
-
@8DK 这发生了。别着急,继续……
标签: javascript for-loop