如何遍历包含数组的JSON对象?

时间:2010-07-22 03:27:34

标签: javascript json loops

我将如何正确循环?

{names:['oscar','bill','brad'],ages:['20','25','18']}

所以我基本上得到了输出:

names: oscar
ages: 20

names: bill
ages: 25

names: brad
ages: 18

是的我知道它是for ... in循环,但我无法弄清楚如何获得此输出。

3 个答案:

答案 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(""));
        }