-3

私が持っているとしましょう:

var acDeMa = [10, 20, 30, 40, 50];  
var test1 = 5;

var test2 = 7;

var test3 = 3;

var piece1;

var piece2;

var piece3;

if ( test1 == 5 )
{piece1 = "ac";}

if ( test1 == 7 )
{piece2 = "De";}

if ( test1 == 3 )
{piece3 = "Ma";}

次に、これらの部分を組み合わせて、以前の配列として認識し、配列から新しい配列に値をコピーするにはどうすればよいですか?

var finishedArray = (piece1 + piece2 + piece3);

基本的に、この効果が必要ですが、名前(acDeMa)を具体的に入力する必要はありません。

var finishedArray = acDeMa;

どうすればこれを行うことができますか?これを行う理由は、約60のアレイがあり、一度に2つを比較しているためです。一部の配列には共通点があるため、60個の個別の「if」ステートメントではなく、いくつかの「if」ステートメント(さまざまな配列の共通点を巧みに見つける)を使用して正しい配列名をつなぎ合わせたいと思います。そしてそれを私の配列として使用します。

いいえ、新しい配列に5、7、3の数字を入れたくありません。finishArrayに10、20、30、40、50の数字が必要ですが、これらの数字は毎回異なる可能性があるため、次のように記述したくありません。

var finishedArray = acDeMa;

また

var finishedArray = [10, 20, 30, 40, 50];
4

2 に答える 2

2

あまりお勧めしませんが、グローバルコンテキストで作業している場合は、次のようなウィンドウオブジェクトを使用できます。

var finishedArray = window[piece1+piece2+piece3];

これにより、元の配列への参照が作成されます。別のコピーを取得するには、sliceメソッドを使用します

var finishedArray = window[piece1+piece2+piece3].slice(0)
于 2013-01-26T13:40:04.340 に答える
0

配列の代わりに、オブジェクトから始めます。

var myArrays = { acDeMa : [10, 20, 30, 40, 50] }

その後

var finishedArray = myArrays[piece1 + piece2 + piece3];
于 2013-01-26T13:41:40.343 に答える