0
我在寫一個for循環,它使用$ http獲取JSON文件並將其內容分配給數組索引。
基本上發生的事情是vm.newLanguages成爲一組語言;
['Korean','English','Spanish']
然後for循環加載語言事實爲每種語言的JSON文件,並指定他們vm.facts [1] ...
korean-facts.JSON, english-facts.JSON, spanish-facts.JSON
這一切工作正常。但是,在JSON文件的GET請求中,for循環的索引增加1,我不是100%確定原因。這意味着韓國事實被放入vm.facts [1]而不是vm.facts [0],英語事實被放入vm.facts [2]而不是vm.facts [1]等。
Now ,我可以簡單地減去for循環中的索引來解決問題,但我想知道爲什麼索引在for循環中可能會增加。
角JS
$http.get('/ctrl/dashboard/get-new-languages.php').then(function(response){
vm.newLanguages = JSON.parse(response.data.newLanguages);
for(var i = 0; i < vm.newLanguages.length; i++){
var item = vm.newLanguages[i];
var facts;
console.log(i); //this is correct (i)
$http.get('/js/language-facts/' + item.toLowerCase() + '-facts.json').then(function(response){
facts = response.data;
console.log(i); //this is now i+1
vm.facts[i] = facts;
});
};
})
OK預期的行爲,我明白了,所以這實際上是預期的行爲? –
我添加了一個鏈接來獲得預期的行爲,pleasse檢查 – marvel308