链接函数之间的区别是什么,而不是在javascript中链接它们?

问题描述 投票:0回答:2

我是javascript的新手,遇到了一些让我觉得奇怪的东西。以下行完成了我预期的操作,它将字符串拆分为一个字符数组,颠倒了数组,然后再将它们组合在一起。

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

现在问我的问题。当我在多行上执行此操作时,这不起作用,如下所示:

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

似乎join函数没有完成它的工作,因为它返回一个反转的字符数组,这些字符没有粘在一起就是一个字符串。

为什么会这样?

javascript
2个回答
2
投票

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

与第一个相当的是:

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

2
投票

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

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

let returnMe = string.split("");
returnMe.reverse();
returnMe = returnMe.join("");
return returnMe;
© www.soinside.com 2019 - 2024. All rights reserved.