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

时间:2015-03-16 09:49:25

标签: javascript sorting

我正在通过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;
}

1 个答案:

答案 0 :(得分:0)

我设法解决了。

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(", ");
}