为什么 RETURN 在 javascript 中显示不同的输出

Tes*_*esa 1 javascript return

我正在尝试解决一个反转输入参数的函数。

因此,如果我运行以下代码,它可以完美运行:

function FirstReverse(str) {
  let a = str.split("");
  a.reverse();
  
  return a.join("");
}

console.log(FirstReverse("hello"))
Run Code Online (Sandbox Code Playgroud)

但是,如果我运行以下代码,它将无法工作,尽管我认为它与第一个代码相同:

function FirstReverse(str) {
  let a = str.split("");
  a.reverse();
  a.join("");
  
  return a;
}

console.log(FirstReverse("hello"))
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,为什么第二个代码的行为与第一个代码不同?

Que*_*tin 5

虽然reverse改变数组,join但不会。

在第二个例子中,你忽略了join()(它是一个字符串)的返回值,a而是返回(它是一个数组)的值。