【发布时间】:2018-11-22 14:27:13
【问题描述】:
const arr = [{name:'Suzanne'},{name:'Jim'},{name:'Trevor'},{name:'Amanda'}];
arr.sort((a,b)=>a.name > b.name);
我想按字母顺序(A->Z)对数组名称中的元素(对象)进行排序。当我在 node(v8.4.0) 和 safari 开发工具(console) 中使用代码时,它运行良好。
但在 chrome 开发工具-console(v70.0.3538.110) 中不起作用。 chrome控制台中有代码结果。
在我看来,代码没有错。我不知道为什么代码不能正常工作。
【问题讨论】:
-
When I use the code in node(v8.4.0) and safari development tool(console), it works well.这很有趣,因为 sort 方法期望回调返回一个 number,而上面的表达式返回一个 boolean。该代码不正确,或者至少,您的代码不符合您的预期。 -
谢谢,briosheje。我认为排序方法的回调可以返回 boolean。但这是错误的。 Safari 控制台和节点很奇怪...;(
标签: javascript arrays google-chrome sorting ecmascript-6