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 如何根据js中每个单词的第n个字母按字母顺序排列列表_Javascript_Sorting - Fatal编程技术网

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

Javascript 如何根据js中每个单词的第n个字母按字母顺序排列列表,javascript,sorting,Javascript,Sorting,我正在学习Codewars基础知识,我需要编写一个函数,它接受两个参数:一个包含单词列表的字符串和一个整数。该函数应根据每个单词的第n个字母按字母顺序排列列表 例如: function sortIt('bid, zag', 2) //=> 'zag, bid' 列表中提供的所有单词的长度将大于等于n。格式将是x,x,x 这就是我得到的,我显然做错了什么,因为codewars只返回“未知错误”。任何帮助都将不胜感激 function sortIt(list, n) { var st

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

例如:

function sortIt('bid, zag', 2) //=> 'zag, bid'
列表中提供的所有单词的长度将大于等于n。格式将是x,x,x

这就是我得到的,我显然做错了什么,因为codewars只返回“未知错误”。任何帮助都将不胜感激

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

提示:JavaScript数组是零索引的。哪个字母是[2]?这是一个很好的提示:n-1知道了。那太傻了。非常感谢。我也忘了加入结果。现在解决了。