如何在JavaScript数组项之间添加空格

29

我是javascript的初学者,非常感谢任何给予我的帮助和建议。

我的问题是,我试图找出如何在times[]数组中添加项之间的间隔,该数组保存每个电影对象的showtimes值。我尝试在逗号(“,”)处拆分,但那不起作用。当我尝试在(“pm”)处拆分时,它可以正常工作。我还发现一种方法可以在showtimes值本身中添加空格,但我认为必须有更好的方法去做这件事。有什么想法吗?谢谢!

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); }


 }
2个回答

84

array.join函数接受一个可选的delimiter参数,该参数将元素用分隔符分开。一个简单的例子:

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

1
我犯了一个错误,将我的连接数组保存到另一个数组而不是字符串中,这没有失败,但输出了不想要的逗号。 - Dylan Valade

-1

const names = ["alice", "bob", "charlie", "danielle"]
    
    
    const capitalized = names.map((name) => {
        return name[0].toUpperCase() + name.slice(1)
    })
    
    console.log(capitalized)

["Alice", "Bob", "Charlie", "Danielle"]

1
问题是关于空格,而不是大小写。您确定回答了正确的问题吗? - jfhr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接