我有一個5個對象的數組,我需要循環並返回一個對象數組。但是,當我這樣做時,它只返回最後一個對象5次。angular.for每個返回的對象數組重複同一個對象
我有兩段代碼,它們完全相同,而另一段不工作。
工作代碼:(通過字符串循環,在|上分割並返回數組中的對象);
angular.forEach(exampleString, function(data) {
if (data.indexOf('|') !== -1) {
data = data.split('|');
//self.model.getDataFromArray()returns an object
newArray.push(new self.model.getDataFromArray(data));
}
});
//returns array of objects
不起作用:(遍歷對象,並返回一個對象,但只推最後1到陣列5次)
angular.forEach(exampleObjects, function(data) {
this.push(new self.model.getDataFromObject(data));
}, newArray);
有什麼,我」在做或不做這導致這失敗?我可以說的唯一真正的區別是,我從一個分割的字符串開始,而不是從一個對象開始。
只是爲了澄清,如果我做到以下幾點我得到相同的重複:
angular.forEach(exampleObjects, function(data) {
newArray.push(new self.model.getDataFromObject(data));
});
是exampleString一個字符串?或者它是一個數組?你的評估「通過字符串循環」是不正確的,你的foreach的第一個參數應該是你迭代的對象/數組。您不會迭代字符串值。 – sksallaj
@sksallaj對不起,這是一串字符串。 – gardni