一次使用 split pop 和 join 可以吗?

Pet*_*yre 2 javascript

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

var mydate = new Date();
alert( mydate.toLocaleTimeString().split(":").pop().join(':'));
Run Code Online (Sandbox Code Playgroud)

split()使它成为一个数组,pop()去掉数组的末尾,join()再次使它成为一个字符串,对吗?

Nin*_*olz 7

您可以使用Array#slice负的 end/second 参数。

Array#pop返回最后一个元素,但不返回数组本身。slice返回数组的副本,其中包含从 start 开始的所有元素,但没有最后一个元素。

var mydate = new Date();
console.log(mydate.toLocaleTimeString().split(":").slice(0, -1).join(':'));
Run Code Online (Sandbox Code Playgroud)

  • “那么为什么 pop() 不能那样工作呢?” 因为这就是规范所要求的。当您期望最后一项是您想要的时,您可以使用带有 pop 的链方法。 (2认同)