web-dev-qa-db-ja.com

配列アイテムのJavaScript間にスペースを追加する方法

私はJavaScriptの初心者なので、ヘルプやアドバイスをいただければ幸いです。

ここでの問題は、各ムービーオブジェクトの上映時間の値を保持するtimes []配列の項目間にスペースを追加する方法を見つけようとしていることです。コンマ( "、")で分割しようとしましたが、機能しません。 ( "pm")で分割してみたところ、うまくいきました。また、上映時間の値自体にスペースを追加する方法も見つけましたが、それを行うにはもっと良い方法があるはずだと思いました。何かご意見は?ありがとう!

window.onload = init;


function Movie(title, year, showtimes) { 
  this.title = title;
  this.year = year;
  this.showtimes = showtimes;
  }

  function init() {
    var darkKnight = new Movie("The Dark Knight Rises", "2012", ["1pm,", "2pm,", "3pm,"]);
    var takeThisWaltz = new Movie ("Take This Waltz", "2012", ["4pm", "5pm","6pm"]);
    var watchmen = new Movie("Watchmen", "2009", ["7pm","8pm","9pm"]); 

    var movieList = [darkKnight, takeThisWaltz, watchmen]


    for(var i = 0; i < movieList.length; i++) { 
    var theObj = movieList[i];
    var times = [movieList[i].showtimes] 
      for(var j = 0; j < times.length; j++) {
      var str = times[i];     
      } 
    makeResult();    }


    function makeResult() {             
    var list = document.getElementById("movieList"); 
    var li = document.createElement("li");          
    li.innerHTML = "title: " + movieList[i].title + " year: " + movieList[i].year + " showtimes: " + times[0].toString().split(",");
    list.appendChild(li); }


 }
15
user1876829

array.join関数は、オプションのdelimiterパラメーターを取り、区切り文字で要素を区切ります。簡単な例:

var showtimes = ["1pm", "2pm", "3pm"];
var showtimesAsString = showtimes.join(', '); // gives "1pm, 2pm, 3pm"
47
jbabey