2010-07-22 71 views
1

我會如何正確地循環?如何循環遍歷包含數組的JSON對象?

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

所以我基本上得到輸出:

names: oscar 
ages: 20 

names: bill 
ages: 25 

names: brad 
ages: 18 

是的,我知道它...一個在循環,但我只是無法弄清楚如何得到這個輸出。

回答

4

也許

for (var i = 0, len = obj.names.length; i < len; ++i) { 
    var name = obj.names[i]; 
    var age = obj.ages[i]; 
    // ... whatever 
} 

其中 「目標文件」 是您的JSON對象

+0

是的,這似乎是正確的,波蒂。 奧斯卡,順便說一句,爲什麼要格式化你的JSON呢?爲什麼不{{name:'Oscar',年齡:24},{姓名:'Bill',年齡:25} ...} – 2010-07-22 03:38:20

+0

這是一種使用localStorage的數據庫JSON。我想存儲「行和列」而不是一組對象。 Id通常按照你的方式來做。 – 2010-07-22 18:34:22

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("")); 
     } 
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 [0] .name 有幫助嗎?因爲你需要在這個數組中使用閉包,所以你可以查看這篇博文。 http://yilmazhuseyin.wordpress.com/2010/07/19/closure-in-javascript-part-3/

+0

awh,有趣,我將如何看待這個? – 2010-07-22 18:35:05