我有vs.selectedTags
這是一個包含3個對象的數組。如何迭代函數內的數組對象
在我的for循環中運行3次,我需要進行3次API調用以獲取每個對象的代碼數據,我也可以。
當我嘗試將這些代碼分配給數組中的每個vs.selectedTags[i].tickers
對象時,我的問題就出現了。
它不能遍歷ApiFactory
調用中的i
。 i
變成3,我必須通過使用[i-1]
來阻止它錯誤出局。但i
仍然停留在2
,因此它總是將最後一個代碼數據保存到全部我的vs.selectedTags
陣列中的項目。
var vs = $scope;
for (var i = 0; i < vs.selectedTags.length; i++) {
console.log(i);
vs.selectedTags[i].tickers = '';
console.log(vs.selectedTags[i].tickers);
ApiFactory.getTagData(vs.chosenTicker, vs.selectedTags[i].term_id).then(function(data) {
// console.log(data.data.ticker_tag);
console.log(data.data.ticker_tag.tickers);
console.log(i-1);
// console.log(vs.selectedTags[0]);
// How would you properly iterate [0 - 1 - 2] here?
vs.selectedTags[i-1].tickers = data.data.ticker_tag.tickers;
console.log(vs.selectedTags[i-1]);
});
}
謝謝你的工作! :D cool關閉功能 –
它只需要一個函數,而IIFE是一個函數,它創建一個新的範圍。有人喜歡它,有人認爲最好是在一個單獨的函數中編寫代碼,我認爲這取決於它,如果它只是簡單的代碼在一個循環中,只是將它包裝在一個IIFE中使我更容易閱讀而不是將代碼移出。 – adeneo