2013-05-01 105 views
0

在以下Javascript(JSON)數組中,以下代碼將遍歷員工,但我如何處理1)個體員工編號,2)任務或3)網站,使用Javascript或jQuery的/ JavaScript的?Javascript數組 - 遍歷數據元素

$.each(mySchedule, function(i, obj) { 
    console.log(obj.employees); 
}); 
var mySchedule = 
    { 
    "schedule": { 
     "employees": [{ 
     "employee": "1000", 
     "tasks": [{ 
      "task1": { 
      "site":"McDo", 
      "from":"0900", 
      "to":"1000" 
      } 
     }, 
     { 
      "task2": { 
      "site":"McDo", 
      "from":"0900", 
      "to":"1000" 
      } 
     }] 
     }, 
     { 
     "employee": "2000", 
     "tasks": [{ 
      "task3": { 
      "site":"HJ", 
      "from":"0900", 
      "to":"1000" 
      } 
     }, 
     { 
      "task4": { 
      "site":"KFC", 
      "from":"0900", 
      "to":"1000" 
      } 
     }] 
     }] 
    } 
    } 

(編輯)我樂觀地希望這樣的事情能夠奏效。

$.each(mySchedule, function(i, obj) {    
    console.log(obj.site);      
}); 
+0

你有什麼問題?你嘗試過什麼嗎? – 2013-05-01 10:51:05

+0

請參閱[使用對象](https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects)。 – 2013-05-01 10:51:40

+0

請參閱其他答案。用戶已經知道我在問什麼,並提供了非常簡潔的答案。如果我想要JavaScript對象的手冊,我會爲它的谷歌。 – Abe 2013-05-01 11:07:36

回答

3

你目前的代碼遍歷時間表,而不是員工...

$.each(mySchedule.schedule.employees, function(i, obj) {    
    console.log(obj.tasks); 
    console.log(obj.employee);      
}); 

你必須通過一個元素一個步行到達到你所需要的數據。對於該網站,您需要按照來自任務的屬性來完成任務。任務是在員工的財產任務中,而員工在財產員工中依次按計劃進行......

+0

美麗的答案! – Abe 2013-05-01 11:02:17

2

您應該修改數據結構一點點以直接解決員工問題,而無需迭代通過他們。

一個可能的例子是:

<script type="text/javascript"> 

var s = { 
"schedule": { 
    "employees": { 
    "1000": { 
     "tasks": [{ 
      "task1": { 
      "site":"McDo", 
      "from":"0900", 
      "to":"1000" 
      } 
     }, 
     { 
      "task2": { 
      "site":"McDo", 
      "from":"0900", 
      "to":"1000" 
      } 
     }] 
    }, 
    "2000": { 
     "tasks": [{ 
      "task1": { 
      "site":"McDo", 
      "from":"0900", 
      "to":"1000" 
      } 
     }, 
     { 
      "task2": { 
      "site":"McDo", 
      "from":"0900", 
      "to":"1000" 
      } 
     }] 
    } 
    } 
} 
} 

console.log(s["schedule"]["employees"]["1000"]); 
console.log(s["schedule"]["employees"]["2000"]); 

</script> 

UPDATE:

的OP問他怎麼能得到員工的名單,所以這裏有雲:

console.log(s["schedule"]["employees"]); 

以上代碼將返回作爲鍵的員工列表以及隨附的任務作爲值。

+0

是的,這使得從此!我不需要說:「員工」:[{因爲我有很多員工? – 2013-05-01 11:11:44

+0

在這個版本中,我如何獲得員工號碼列表? \t \t \t。每$(mySchedule.schedule,功能(I,OBJ){\t \t \t \t \t \t \t \t \t \t \t \t的console.log(obj.employees); \t \t \t \t \t \t \t \t \t \t \t \t \t}); – Abe 2013-05-01 11:23:58

+0

@Abe我已經更新了答案以添加該信息。 – 2013-05-01 11:28:25