翻转一个字符串,为什么报价?

时间:2014-08-14 04:56:13

标签: javascript

我看到了另一个stackoverflow线程here

给出的答案之一是

function reverse(s){
    return s.split("").reverse().join("");
}

所以我的问题是,为什么有splitjoin而不是reverse的引号?

3 个答案:

答案 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连接在一起。