Javascript 使用split-pop和join-all一次可以工作吗?

Javascript 使用split-pop和join-all一次可以工作吗?,javascript,Javascript,我真的很喜欢Javascript,我的代码就是这样写的。我觉得应该行得通。我是不是按错误的顺序做的?如果它不能像这样工作,为什么不呢 var mydate = new Date(); alert( mydate.toLocaleTimeString().split(":").pop().join(':')); split()使其成为数组,pop()去掉数组的末尾,join()使其再次成为字符串,对吗?否,将从数组中删除最后一个元素并返回它 要实现您的尝试,您需要首先将split()的结果分配给

我真的很喜欢Javascript,我的代码就是这样写的。我觉得应该行得通。我是不是按错误的顺序做的?如果它不能像这样工作,为什么不呢

var mydate = new Date();
alert( mydate.toLocaleTimeString().split(":").pop().join(':'));
split()
使其成为数组,
pop()
去掉数组的末尾,
join()
使其再次成为字符串,对吗?

否,将从数组中删除最后一个元素并返回它

要实现您的尝试,您需要首先将
split()
的结果分配给一个变量,然后您可以引用:

var mydate=new Date(),
myarr=mydate.toLocaleTimeString().split(“:”);
myarr.pop();
log(myarr.join(“:”)否,将从数组中删除最后一个元素并返回它

要实现您的尝试,您需要首先将
split()
的结果分配给一个变量,然后您可以引用:

var mydate=new Date(),
myarr=mydate.toLocaleTimeString().split(“:”);
myarr.pop();
log(myarr.join(“:”)可以与负结束/秒参数一起使用

返回最后一个元素,但不返回数组本身<代码>切片
返回数组的副本,其中包含从开始到结束的所有元素,不包含最后一个元素

var mydate=新日期();
log(mydate.toLocaleTimeString().split(“:”).slice(0,-1.join(“:”)可以与负结束/秒参数一起使用

返回最后一个元素,但不返回数组本身<代码>切片
返回数组的副本,其中包含从开始到结束的所有元素,不包含最后一个元素

var mydate=新日期();

log(mydate.toLocaleTimeString().split(“:”).slice(0,-1.join(“:”)如果您想要实现的只是小时:分钟,那么您只需执行此操作即可

var mydate=新日期();

log(mydate.getHours()+':'+mydate.getMinutes())如果您想要实现的只是小时:分钟,那么您只需执行此操作即可

var mydate=新日期();

log(mydate.getHours()+':'+mydate.getMinutes())您正在尝试使用方法链接,其中链中的下一个方法使用先前执行的方法的输出。它不起作用的原因是“join()”方法是数组的原型,但“pop()”返回的数组元素与前面提到的方法不匹配,这就是错误的原因。 重构代码,如下所示:

  var myDate = new Date(),
      myDateArr = myDate.toLocaleTimeString().split(':');
  myDateArr.pop(); // Remove the seconds
  myDate = myDateArr.join(':'); // Returns string
  console.log(myDate);

希望这能有所帮助。

您正在尝试使用方法链接,其中链接中的下一个方法使用以前执行的方法的输出。它不起作用的原因是“join()”方法是数组的原型,但“pop()”返回的数组元素与前面提到的方法不匹配,这就是错误的原因。 重构代码,如下所示:

  var myDate = new Date(),
      myDateArr = myDate.toLocaleTimeString().split(':');
  myDateArr.pop(); // Remove the seconds
  myDate = myDateArr.join(':'); // Returns string
  console.log(myDate);
希望这有帮助。

试试这个

var mydate=新日期();
警报(mydate.toLocaleTimeString().split(“:”).slice(0,2.join(“:”))试试这个

var mydate=新日期();

警报(mydate.toLocaleTimeString().split(“:”).slice(0,2.join(“:”))太快。。哈哈。。仍在快速查找Pops的参考。。哈哈。。仍然在寻找pop的引用,那么为什么pop()不能这样工作呢?一般来说,我注意到在JS中,当您返回一个新变量时,可以使用更多的扩展函数对其进行进一步操作。“那么为什么pop()不能这样工作呢?”因为这就是规范所要求的。当您希望最后一个项目是您想要的时,您可以将chain方法用于pop。在函数中,您只想返回单个元素,而不是数组。但是,当您编写拆分函数时,您需要返回一个数组。所以这实际上取决于函数的用途。好吧,我明白了,如果你弹出一个数组,它会使数组变短,但是如果你引用它作为扩展方法,它会返回你截断的东西。谢谢大家!是的,还有你的问题。首先将带有“:”的时间字符串拆分为一个数组。然后弹出数组,使其返回数组中的最后一个元素,即字符串。现在您想用“:”连接字符串。您将得到一个错误,因为join不能处理字符串,而只能处理数组。那么为什么pop()不能这样工作呢?一般来说,我注意到在JS中,当您返回一个新变量时,可以使用更多的扩展函数对其进行进一步操作。“那么为什么pop()不能这样工作呢?”因为这就是规范所要求的。当您希望最后一个项目是您想要的时,您可以将chain方法用于pop。在函数中,您只想返回单个元素,而不是数组。但是,当您编写拆分函数时,您需要返回一个数组。所以这实际上取决于函数的用途。好吧,我明白了,如果你弹出一个数组,它会使数组变短,但是如果你引用它作为扩展方法,它会返回你截断的东西。谢谢大家!是的,还有你的问题。首先将带有“:”的时间字符串拆分为一个数组。然后弹出数组,使其返回数组中的最后一个元素,即字符串。现在您想用“:”连接字符串。您将得到一个错误,因为join不使用字符串,而是使用数组。