函数式编程:使用 sort 方法按字母顺序给数组排序


#1

在 alphabeticalOrder函数中使用 sort 方法对 arr 中的元素按照字母顺序排列。

function alphabeticalOrder (arr) {
// 请在本行以下添加你的代码
return arr.sort(function(a,b) {return a > b;});

// 请在本行以上添加你的代码
}
alphabeticalOrder([“a”, “d”, “c”, “a”, “z”, “g”]);

我眼拙了么 提示也是一样过不去


#2

你试一下这样写呢?

function alphabeticalOrder(arr) {
  // 请在本行以下添加你的代码
  return arr.sort(function(a, b) {
    return a > b;
  });
  
  // 请在本行以上添加你的代码
}
alphabeticalOrder(["a", "d", "c", "a", "z", "g"]);

就是要跳行


#3

一样的 提示也看了,代码和提示没区别


控制台输出和元数组没区别


#4

不会吧,我用这个代码直接就通过了呀。
你用的是什么浏览器?


#5

谷歌浏览器!
我看了提示 代码没问题!


#6

别纠结了,这个小问题明白怎么回事就可以了


#8

是不是换个浏览器就行了?这区别在哪啊?


#9

大佬的答案:
“查了一下 chrome70 和node v11 版本以后的Array.prototype.sort的实现被修改了”
“不再兼容以前那种返回非number类型的回调了”
“而且不同的js引擎sort实现完全不同”
“标准中规定的sort函数的回调必须返回number类型”
“v8的官方有说明”

“官方博客也详细说明了v8最新的sort实现方式”

ps:我是搬运工,以上都是大佬原话,应该明白了8


#10
var nArr=arr.sort();
return nArr;