我的目标是采用一个字符串,该字符串将是一个多词短语或语句。我要使用此字符串,并返回由所有参数字符串的各个字符组成的单个字符串,按字母顺序排列,没有重复。如果我可以忽略自己所拥有的空间,那么我真的也希望能够做到这一点。
我的主要问题是尝试了解array.sort()方法中自定义比较器的return语句。请帮助我理解1,-1和0 ...也是一个更基本的概念,当我们说str1> str2时,是说str1就像“ a”,而str2就像“ b”,或者反之-是吗?
***由于我的代表得分太低,因此我无法对原始帖子发表评论。
最初发布的Custom case insensitive sort function that retains original casing?
**将s1和s2更改为str1和str2
贷记https://stackoverflow.com/users/605744/tomasz-nurkiewicz
我发现了几种类似的排序方法,分别使用1,-1和0。但是我找不到任何解释。
这是我正在使用的比较器以及使用它的上下文:
txt = "There was a Crocodile in my bathroom this morning!";
function insensitive(str1, str2) {
var str1lower = str1.toLowerCase();
var str2lower = str2.toLowerCase();
return str1lower > str2lower? 1 :
(str1lower < str2lower? -1 : 0);
}
txtArray = txt.split('').sort(insensitive);
这可以正常工作,但是我不了解return语句中的1,-1和0。它们如何在排序功能等中工作。