我有一個對象數組。不知何故,其中一個屬性在我的每個循環內都會丟失。我嘗試了許多不同類型的循環,但沒有任何辦法可以解決這個問題。當通過對象數組迭代時,Javascript對象屬性'null'
someFunction(someArrayOfObjects) {
console.log(someArrayOfObjects); // logs objects as I expect them to be
$.each(someArrayOfObjects, function(index, someObject) {
console.log(someObject); // one of the properties of someObject is 'null'
});
}
UPDATE:如何數組構造:
// constructor
var people = [];
var Person = function (name, age, photo) {
this.name = name;
this.age = age;
this.photo = null;
};
然後使用AJAX來得到一些JSON,並通過各那些人創建對象
success: function(data) {
people.push(new Person(data['name'], data['age'])
}
然後我迭代併發出另一個AJAX請求來獲取他們的每張照片。回調看起來像這樣:
function(person, photo) {
person.photo = photo;
});
我是新來的JavaScript和異步編程,所以圍繞回調包裝我的頭腦是艱難的。我想我已經知道了console.log(someArrayOfObjects)
按我的預期工作。我只是無法弄清楚爲什麼照片屬性會在對象單獨記錄時恢復。 我也嘗試在CoffeeScript中重寫所有內容,因爲語法對我而言稍微簡單一些,但不幸的是問題仍然存在。
謝謝。
截圖控制檯:
你能提供陣列的簡單的例子? – user3272018
'var someArrayOfObjects = {name:「joe」,age:「32」,photo:「joe.jpg」}, {name:「alice」,年齡:「5」,照片:「alice.jpg」 }, {name:「john」,age:「22」,photo:「john.jpg」} ]'@ user3272018 – lizvdk
給出的代碼似乎是正確的。 – vinayakj