如何根据 js 中每个单词的第 n 个字母按字母顺序排列列表

How do I alphabetize a list based on the nth letter of each word in js

本文关键字:列表 排列 顺序 何根 js 单词      更新时间:2023-09-26

我正在研究Codewars的基础知识,我需要编写一个接受两个参数的函数(一个包含单词列表的字符串和一个整数)。该函数应根据每个单词的第 n 个字母按字母顺序排列列表。

例:

function sortIt('bid, zag', 2) //=> 'zag, bid'

列表中提供的所有单词的长度将为>= n。格式将为"x, x, x"

#

这就是我所拥有的,我显然做错了什么,因为代码战争只是返回"未知错误"。任何帮助将不胜感激。

    function sortIt(list, n) {
var strArray = list.split(", ");
var newArray = strArray.sort(function(a,b) {
    if(a[n] == b[n]){
      return 0;
    }else if(a[n] > b[n]){
      return 1;
    }else{
      return -1;
    }
    });
return newArray;
}

我设法解决了它。

n 是数字的位置,而不是索引的位置。愚蠢的错误。谢谢@Juhana

最后我忘了加入结果。

function sortIt(list, n) {
var strArray = list.split(", ");
var newArray = strArray.sort(function(a,b) {
  if(a[n-1] == b[n-1]){
    return 0;
  }else if(a[n-1] > b[n-1]){
    return 1;
  }else{
    return -1;
}
});
return newArray.join(", ");
}