2016-04-28 35 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); 
    } 
} 

私はTypeErrorを取得し続ける:私にとって正しいと思われるにもかかわらず、私のforループでヌルのプロパティ '0'を読み取ることができません。私がこれを解決するために得ることができるどんな助けも大きな助けになるでしょう。私は、投票関数によって変更されたデータベースとしてこの配列を使用しようとしており、最大値を変更するたびに利用可能な配列スロットを増やす必要があります。TypeError:Forループでヌルのプロパティ '0'を読み取ることができません

+0

[同じ](http://stackoverflow.com/questions/36921347/my-for-loop-doesnt-work-and-i-dont-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(各ループ?)の値をコンソールに記録するか、デバッガを使用してみてください。

関連する問題