我将如何正确循环?
{names:['oscar','bill','brad'],ages:['20','25','18']}
所以我基本上得到了输出:
names: oscar
ages: 20
names: bill
ages: 25
names: brad
ages: 18
是的我知道它是for ... in循环,但我无法弄清楚如何获得此输出。
答案 0 :(得分:4)
也许
for (var i = 0, len = obj.names.length; i < len; ++i) {
var name = obj.names[i];
var age = obj.ages[i];
// ... whatever
}
其中“obj”是您的JSON对象
答案 1 :(得分:1)
只是一个简单的建议。在我看来,实施方式对你来说会更好
{ people:[{name:'oscar',age:20},{...},{...}] }
循环使用
var a = { people:[{name:'oscar',age:20}] };
var array = a.people
for(element in array){
console.log(array[element].name + ',' + array[element].age);
}
我们的主要对象在变量a和内部,我们在对象的people属性中有我们的数组。数组里面有我们的人物对象。所以我们列表中的第一个人是a.people [0] .name 这有帮助吗?因为您需要使用此数组的闭包,您可以查看此博客文章。 http://yilmazhuseyin.wordpress.com/2010/07/19/closure-in-javascript-part-3/
答案 2 :(得分:0)
var data = {names:['oscar','bill','brad'],ages:['20','25','18']}
function loop() {
var arrNames = data.names;
var ages = data.ages;
var str = [];
for(var i = 0, len = arrNames.length; i < len; i++) {
str.push("\nnames: " + arrNames[i] + "\nages:" + ages[i]);
}
alert(str.join(""));
}