如何升级以下对象以便生成下面列出的输出?对存储在对象中的键值项目进行迭代
var obj = { a: "1", b: "2", c: "3" };
预期输出:
指数:0 VALUE1:一个值2:1
索引:1 VALUE1:乙VALUE2:2
指数:2值1:C值2:3
如何升级以下对象以便生成下面列出的输出?对存储在对象中的键值项目进行迭代
var obj = { a: "1", b: "2", c: "3" };
预期输出:
指数:0 VALUE1:一个值2:1
索引:1 VALUE1:乙VALUE2:2
指数:2值1:C值2:3
您可以使用for .. in
来替代对象的键,并使用单独的索引计数器:
var index = 0;
for (var key in obj) {
console.log("index: " + index + " value1: " + key + " value2: " + obj[key]);
++index;
}
如果你的环境理智,这应该是正常的;如果没有,你将不得不添加强制性hasOwnProperty()
支票。
在现代浏览器中使用Object.keys()
对对象键进行迭代是可能的,但是如果内存太紧,上述方法将更可取。
在现代浏览器中,你可以循环是这样的:
Object.keys(obj).forEach(function(key, i){
console.log('index: '+ i, 'key: '+ key, 'value: '+ obj[key]);
});
这是一个对象,你试图重复其作为数组。使用for-in结构。
var obj = { a: "1", b: "2", c: "3" };
for(var opt in obj) {
console.log(opt + ": " + obj[opt]);
}
ü应该参阅作为VALUE1键和value2作为值IMHO – DarkBee
http://stackoverflow.com/questions/3068534/getting-javascript-object-key-list – DarkBee
'obj.length'是未定义的简单像这样的对象... – filmor