不考虑大小写,按字母顺序对字符串排序-JavaScript

不考虑大小写,按字母顺序对字符串排序-JavaScript,javascript,sorting,ascii,alphabetical-sort,alphabetized,Javascript,Sorting,Ascii,Alphabetical Sort,Alphabetized,正在研究 对字符串的字符重新排序,以便它们按“不区分大小写的字母顺序”顺序连接成新字符串。删除空格和标点符号即可 输入限制为不包含数字,仅包含包含英文字母的单词 例如: 按字母顺序排列(“圣经”)/“贝希洛蒂” 我从以下几点开始: 按字母顺序排列的函数{ s=s.replace(/\s/g,“”).toLowerCase(); 返回s.split(“”).sort().join(“”); } console.log(按字母顺序排列(“圣经”)根据@user3483203的代码: 按字母顺序排

正在研究

对字符串的字符重新排序,以便它们按“不区分大小写的字母顺序”顺序连接成新字符串。删除空格和标点符号即可

输入限制为不包含数字,仅包含包含英文字母的单词

例如:

按字母顺序排列(“圣经”)/“贝希洛蒂”

我从以下几点开始:

按字母顺序排列的函数{
s=s.replace(/\s/g,“”).toLowerCase();
返回s.split(“”).sort().join(“”);
}

console.log(按字母顺序排列(“圣经”)根据@user3483203的代码:

按字母顺序排列的函数{
s=s.replace(/\s+|\W+|\d+|[|]+/g,”);
返回s.split(“”).sort((a,b)=>a.toLowerCase().localeCompare(b.toLowerCase()).join(“”);
}

console.log(按字母顺序排列(“圣经”)这里有一个方法,通过比较字符串中的字符索引(如果它们相等)来创建稳定排序:

按字母顺序排列的函数{
s=s.replace(/\s+|\W+|\d+|[|]+/g,”);
返回s.split(“”)
.map(函数(x,i){return[x,i];})
.sort(函数([a,i],[b,j]){
a=a.toLowerCase();
b=b.toLowerCase();
如果(a==b)
返回i-j;
否则如果(aconsole.log(按字母顺序排列(“圣经”)原始字符串中的出现顺序,如您所述,因此请编写自定义排序函数…从“默认排序顺序是在将元素转换为字符串,然后比较其UTF-16代码单位值序列的基础上建立的”注意:不是ASCII表值。
s.split(“”)。排序((a,b)=>a.toLowerCase().localeCompare(b.toLowerCase())).join(“”
我意识到,根据挑战,它还需要考虑随机字符串-应该处理非字母字符。