| コード |
var
a=[0],
Double=function(){
a=a.concat(a)
},
Bomb=function(n){
for(var i=0;i<n;i++)
Double()
},
Now=function(){
alert(a.length)
} |
| Bomb(100)はやめておいた方がいいのです。Out of Memoryといわれました。 第65回ではn次元配列で無限の要素を扱いましたが、今回はダイレクトに、 配列の要素をゴスゴスと増やしていきます。 すると、ぼくはちのーおくれだから、なんにもわりいことしてないのに、 |
| わかりづらいネタはやめるとして、こういうことは出来なさそうです。なので、前回の結論を改め、 「非常に大きな情報を扱いたいときは、n次元配列で決まりです。」 |
| コード2(おまけ) |
var
a2=[1],
f2=0,
Double2=function(){
a2=[a2,a2]
},
Main2=function(n){
for(var i=0;i<n;i++)
Double2()
f2+=n
},
Now2=function(){
var t=a2,i
for(i=0;i<f2;i++)
t=t[0]
alert(f2+'\n'+Math.pow(2,f2)+'\n'+t)
} |
| Mainのボタンの下3つは上級者向けです。 まあ、こういうことです。無限っつっても限界があるのです。 タスクマネージャでページファイル使用量を見てみると面白いです。 |
| top 戻る |