2017-11-02 3 views
0

day1からday10までの10個の変数がありたいと思いますが、arrayOne [] []は各Date関数の前の最初の値のみを増やします1日目はday2 arrayTwo [1] [0]の場合はarrayOne [0] [0]、day3はarrayThree [2] [0]になりますので、2番目の値は常に同じになります。配列の最初のレベルをループして変数に代入する

このコードは機能しますが、非常に非効率的です。ループの最初の「レベル」だけを増加させ、それを対応する日に割り当てる方法がありますか? forループを使用して

var day1 = arrayOne[0][0].getDate() + "." + arrayOne[0][0].getMonth() + "." + arrayOne[0][0].getFullYear() + "." + 
    " - " + arrayOne[0][6].getDate() + "." + arrayOne[0][6].getMonth() + "." + arrayOne[0][6].getFullYear() + "."; 

var day2 = arrayOne[1][0].getDate() + "." + arrayOne[1][0].getMonth() + "." + arrayOne[1][0].getFullYear() + "." + 
    " - " + arrayOne[1][6].getDate() + "." + arrayOne[1][6].getMonth() + "." + arrayOne[1][6].getFullYear() + "."; 
+1

クリックしてください '<>'と[MCVE]作成 - あなたの質問をすると明らかにされていません何をしようとしています達成する - 例えば 'var day = [];この場合、あなたは何ができるのかという別個の関数を作成することです。(var i = 0; i <10; i ++){day [i] = arrayOne [i] [0] .getDate().... ' – mplungjan

+0

'arrayOne'と' value'をパラメータとして返し、作業を行う出力文字列を返します。 'var day1 = myFunction(arrayOne、0)'のように呼び出すことができます。 –

+0

'forEach'や単純な' forループ 'を使うと便利です。 – Mouser

答えて

2

//generator function to test principle 
 
var arrayOne = []; 
 
a = new Date(); 
 
for (var i = 0; i < 5; i++) { 
 
    arrayOne[i] = [a, a, a, a, a, a, a]; 
 
} 
 
//end 
 

 
for (var i = 0; i < arrayOne.length; i++) { 
 
    //note how we use window to assign day variable with index. 
 
    window["day" + (i + 1)] = arrayOne[i][0].getDate() + "." + arrayOne[i][0].getMonth() + "." + arrayOne[i][0].getFullYear() + "." + 
 
    " - " + arrayOne[i][6].getDate() + "." + arrayOne[i][6].getMonth() + "." + arrayOne[i][6].getFullYear() + "."; 
 

 
    
 
} 
 

 
console.log(day2);

+0

本当にお返事ありがとうございます。それは基本的に私が達成しようとしていることです...しかし、私はこのテクニックのウィンドウ[「day」+(i + 1)]に慣れていません。あなたはすぐにここで何が起こるかを説明することができます..ありがとうございました! – DevJoe

+1

あなたが一度それを知っていればかなり単純です。 Javascriptはオブジェクト指向です。つまり、ブラウザにマスターオブジェクトの「ウィンドウ」が1つ存在します。ブラケット記法を使用して、オブジェクトのプロパティにアクセスすることができます。したがって、 'window [property]'では、グローバルスコープにある変数にアクセスできますが、グローバルスコープに新しいプロパティを割り当てることもできます。 – Mouser

+0

非常に興味深い...だから基本的にウィンドウ["日"]は、 – DevJoe

関連する問題