我無法訪問本身是大對象屬性的對象數組。當數組本身是對象的屬性時,無法訪問數組對象
console.log(skillprofiles);
console.log(skillprofiles.skills);
上述語句返回兩個對象,每個具有是一個屬性的陣列的,看似,對象的有效陣列(在此示例「技能」)。我不能訪問「技能」數組屬性。我最終試圖獲取的數據是「item_name」屬性。據我所知,應該通過可訪問:
skillprofiles[0].skills[0].item_name
有趣的是,驗證「技能」屬性的類型與代替陣列「的typeof」返回「對象」。這可能是因爲我正在將代碼中的一個對象數組從一個對象傳遞到另一個對象。我認爲我正確地做了這件事,並且似乎已經通過我的日誌記錄證實了這一點。
更新與實際數據:
[{
"skillprofile_id": 144,
"skillprofile_name": " On-boarding",
"start_date": "January 30 2012",
"progress": 0,
"complete_date": " ",
"category": 1053,
"skills": [{
"category": "Acquire: Onboard New Hires",
"item_name": "3. On-boarding a New Hire - Day 1",
"skill_type": "activity",
"object_id": 68,
"duration": "8:00:00",
"sco_status_code": 6,
"action": "activity",
"has_forums": false
}, {
"category": "Acquire: Onboard New Hires",
"item_name": "4. On-boarding Checklist",
"skill_type": "activity",
"object_id": 67,
"duration": "1:00:00",
"sco_status_code": 6,
"action": "activity",
"has_forums": false
}]
}, {
"skillprofile_id": 143,
"skillprofile_name": " Setting Up Systems",
"start_date": "January 30 2012",
"progress": 0,
"complete_date": " ",
"category": 1053,
"skills": [{
"category": "Acquire: Onboard New Hires",
"item_name": "1. Office Organization",
"skill_type": "activity",
"object_id": 65,
"duration": "4:00:00",
"sco_status_code": 6,
"action": "activity",
"has_forums": false
}, {
"category": "Acquire: Onboard New Hires",
"item_name": "2. Welcome to the Team Documents",
"skill_type": "activity",
"object_id": 66,
"duration": "2:00:00",
"sco_status_code": 6,
"action": "activity",
"has_forums": false
}, {
"category": "Acquire: Onboard New Hires",
"item_name": "3. Welcome Documents: Feedback ",
"skill_type": "activity",
"object_id": 150,
"duration": "1:00:00",
"sco_status_code": 6,
"action": "activity",
"has_forums": false
}]
}]
更新2:
鑑於答覆迄今,看來我應該能夠運行以下命令:
$.each(skillprofiles, function(){
console.log(this.skills)
});
我可以從控制檯執行此操作,但是從我的代碼運行時,控制檯語句返回爲「未定義」
您是否試過skillprofiles.skills [0] .item_name或skillprofiles.skills.item_name? – 2012-03-19 17:28:38
我認爲你要麼向我們展示真實/工作代碼,要麼你必須將代碼包含在你建立'skillprofiles'和'skills'對象的地方。就目前而言,我們沒有關於這些對象真正的信息。 FYI:'typeof [1,2,3] ==「object」' - 這對陣列來說是正常的。 – jfriend00 2012-03-19 17:28:46
您需要發佈數據的實際外觀。從你在這裏發佈的信息來看,這是不可能的。 – Pointy 2012-03-19 17:29:19