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开发工具(控制台)中使用代码时,它运行良好。
但是在chrome开发工具控制台(v70.0.3538.110)中不起作用。 chrome控制台中存在代码结果。
我认为代码没有错。我不知道为什么代码无法正常工作。
答案 0 :(得分:4)
.sort()
回调必须返回数字,而不是布尔值。返回值应为:
对于字符串,可以使用.localeCompare()
方法:
arr.sort((a,b) => a.name.localeCompare(b.name));