我看到了另一个stackoverflow线程here
给出的答案之一是
function reverse(s){
return s.split("").reverse().join("");
}
所以我的问题是,为什么有split
和join
而不是reverse
的引号?
答案 0 :(得分:5)
那是因为3个功能不同:
String.split( delimiter ); // delimiter = split by what
Array.reverse(); // reverse an array
// unlike other array functions such as sort() or join()
// there is no other option to specify because the function
// does only one thing only one way
Array.join( join_string ); // join_string = what string to insert
// between elements
每当您对函数的工作方式有疑问时,请阅读文档:
并非所有函数都需要一个参数。有些人没有。有些需要两三个。有些人有可选参数。
答案 1 :(得分:4)
reverse()
。 split("")
是一个字母数组的结果(每个字母都是精确的字符串)。
答案 2 :(得分:1)
.split("")
将根据给定参数吐出一个字符串。在这种情况下,""
表示没有分隔符,因此它将在每个char上拆分并返回一个char数组。然后在该数组上调用reverse()
方法。一旦它反转,那么我们必须将它加入到字符串中。 join("")
将为您完成这项任务。在这种情况下,""
表示没有连接的分隔符,因此数组将每个char连接在一起。