Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保留原始大小写的自定义不区分大小写排序函数?_Javascript_Sorting_User Defined Functions_Case Insensitive - Fatal编程技术网

Javascript 保留原始大小写的自定义不区分大小写排序函数?

Javascript 保留原始大小写的自定义不区分大小写排序函数?,javascript,sorting,user-defined-functions,case-insensitive,Javascript,Sorting,User Defined Functions,Case Insensitive,我已经用现代JavaScript完成了一个练习,创建了一个页面,该页面采用字符串并以不区分大小写的方式对其进行排序。这是密码笔:: 我想知道如何制作类似于sortWords()的函数,但在以不区分大小写的方式排序时,当我返回排序后的单词时,我希望保留原始大小写 所需功能的示例: sortWords([“D”、“b”、“A”、“c”])====>A”、“b”、“c”、“D”] 目前,我的函数中丢失了原始的大小写。使用自定义比较器内置方法: 函数不敏感(s1、s2){ var s1lower=s1.

我已经用现代JavaScript完成了一个练习,创建了一个页面,该页面采用字符串并以不区分大小写的方式对其进行排序。这是密码笔::

我想知道如何制作类似于
sortWords()
的函数,但在以不区分大小写的方式排序时,当我返回排序后的单词时,我希望保留原始大小写

所需功能的示例:

sortWords([“D”、“b”、“A”、“c”])====>A”、“b”、“c”、“D”]


目前,我的函数中丢失了原始的大小写。

使用自定义比较器内置方法:

函数不敏感(s1、s2){
var s1lower=s1.toLowerCase();
var s2lower=s2.toLowerCase();
返回s1lower>s2lower?1:(s1lower
// relevant code:
var sorted = words.map(function(value){
    return value.toLowerCase();
}).sort();
function insensitive(s1, s2) {
  var s1lower = s1.toLowerCase();
  var s2lower = s2.toLowerCase();
  return s1lower > s2lower? 1 : (s1lower < s2lower? -1 : 0);
}

["D","b","A","c"].sort(insensitive);  //"A", "b", "c", "D"