42392


pythonで作ったリストデータをjavascriptのDate関数に送って処理させたいのですが、  
d_train_timeには[2018, 9, 19, 8, 45]のようにデータが入っています。

[code]

    var dt = new Date(d_train_time);
    var dt = new Date(2018, 9, 19, 8, 45);//本当はこうしないといけない。
    
[/code]

なので以下の様にに配列から一個ずつ取り出して代入する方法を考えているのですが、他に良いやり方はないでしょうか？

[code]

    var dt = new Date(year, month, day, hour, minute);
    
[/code]


CC BY-SA 3.0
2018-03-14T10:08:26.563
42387
2018-03-15T19:36:24.707
22565
question
javascript html html5
javascriptで配列の値をきれいに代入するには？？


ECMAScript6 のスプレッド演算子をサポートしているような JavaScript
処理系であれば、以下のようにして配列を展開して引数に渡すことが可能です。

[code]

    var d_train_time = [2018, 9, 19, 8, 45];
    var dt = new Date(...d_train_time);
    
[/code]

参考サイト

  * [ECMAScript6 compatible table](http://kangax.github.io/compat-table/es6/)
  * [Runtime Semantics: ArgumentListEvaluation](http://www.ecma-international.org/ecma-262/6.0/#sec-argument-lists-runtime-semantics-argumentlistevaluation)


CC BY-SA 3.0
2018-03-14T11:41:47.090
42392
2018-03-14T11:41:47.090
27410
42387
answer


もしBabelでトランスパイルするのであればいっそのこと`const`もつかって

[code]

    const dateArgs = [2018, 9, 19, 8, 45];
    const date = new Date(...dateArgs);
    
[/code]

のように書くことのほうが多いですが，トランスパイル無しでIE11対応もしたいときはこのシンタックスは使えませんね。

[code]

    var dateArgs = [2018, 9, 19, 8, 45];
    var date = new (Date.bind.apply(Date, [null].concat(dateArgs)));
    
[/code]


CC BY-SA 3.0
2018-03-15T19:36:24.707
42418
2018-03-15T19:36:24.707
940
42387
answer