链接函数与不使用javascript链接函数有什么区别?

时间:2019-04-20 13:14:45

标签: javascript

我是javascript新手,碰到了一些让我觉得很奇怪的东西。 下一行完成了我期望的操作,将字符串拆分为一个字符数组,反转了该数组,然后再次将它们放在一起。

string.split("").reverse().join("")

现在是我的问题。当我在多行中执行此操作时,效果不一样,就像这样:

let returnMe = string.split("");
returnMe.reverse();
returnMe.join("");
return returnMe;

似乎join函数没有完成其工作,因为它返回的是未粘合到单个字符串的反向字符数组。

为什么会这样?

2 个答案:

答案 0 :(得分:2)

因为您没有使用.join("")返回的内容。 .join(以及许多其他方法)不会将数组更改为字符串,而是根据数组返回新的字符串。

与第一个等效:

 let returnMe = string.split("");
 returnMe = returnMe.reverse();
 returnMe = returnMe.join("");
 return returnMe;

答案 1 :(得分:2)

您应该查看这些方法的文档:

虽然reverse确实会更改原始数组,但split和join会返回一个新数组。您可以这样做:

let returnMe = string.split("");
returnMe.reverse();
returnMe = returnMe.join("");
return returnMe;