2016-04-28 43 views
-2
var max=438; 
localStorage.setItem('max', max); 
var pi=[]; 
pi=JSON.parse(localStorage.getItem('pi')); 
var i=localStorage.getItem('i'); 
var url1=Math.floor((Math.random() * max) + 1); 
var url2=Math.floor((Math.random() * max) + 1); 
if(url1==url2){ 
    url2=url2+2; 
    if(url2>max){ 
     url2=url2-max; 
    } 
} 
document.getElementById('imgimg1').src='../img/'+url1+'.gif'; 
document.getElementById('imgimg2').src='../img/'+url2+'.gif'; 
var v1=url1-1; 
var v2=url2-1; 
function vote1() { 
    pi[v1]=pi[v1]+(pi[v2]/pi[v1]); 
    localStorage.setItem('pi',JSON.stringify(pi)); 
    location.reload(); 
} 
function vote2() { 
    pi[v2]=pi[v2]+(pi[v1]/pi[v2]); 
    localStorage.setItem('pi',JSON.stringify(pi)); 
    location.reload(); 
} 
for (var i = 0; i <max; i++) { 
    if(pi[i]==null){ 
     pi.push(1); 
    } 
} 

我不斷獲取類型錯誤讀空的特性「0」:在端部線圈上的我的不能看空的財產「0」,即使它似乎是我的權利。任何幫助我可以解決這個問題將是一個很大的幫助。我試圖使用這個數組作爲由vote函數改變的數據庫,並且需要能夠在我改變max的值時增加可用的數組插槽。類型錯誤:無法爲循環

+0

是[相同](http://stackoverflow.com/questions/36921347/my-for-loop-doesnt-work-and-i-ont-know-why)? – isvforall

+0

該錯誤意味着'JSON.parse()'返回'null'。 'localStorage'的'pi'元素中有什麼? – Barmar

回答

0

Cannot read property '0' of null on my for loop at the end even though it seems to be right to me.

這意味着pi不具有財產0。嘗試將pi的值(在每個循環中?)記錄到控制檯或使用調試器。