0

質問は簡単です。配列と 2 つのグローバル変数を定義するとします。擬似コード:

var X;
var Y;
var pool=[];

そして、時間が経つにつれて、この配列はランダムにオブジェクトで満たされます。

pool.push(Object1={a:X+Y,b:X*Y,c:X-Y,...});
pool.push(Object2={a:X/Y,b:X+2*Y,c:X-Y,...});
pool.push(ObjectN={a:X+8*Y,b:X*Y,c:X-Y,...});

問題は、X と Y が変更されたため、各オブジェクトの a、b、c パラメータを定期的に再評価する必要があることです。

for(var i=0;i<pool.length;i++){
   reevaluate(pool[i]);
} 

a、b、c ... パラメータを再定義せずに再評価し、各オブジェクトを異なるものにする方法はありますか? つまり、元の表現を維持する方法はありますか?

4

1 に答える 1

0

関数の配列を使用できます。

pool.push(function() { return {a:X+Y,b:X*Y,c:X-Y,...}; });

その後、現在の結果を取得したいときはいつでも関数を呼び出すことができます。

2 つの配列を維持したい場合があります。1 つは関数用で、もう 1 つは現在キャッシュされている値用です。

于 2013-07-08T13:49:36.183 に答える