gpt4 book ai didi

javascript - 为什么 Array.prototype.sort() 在 Chrome 开发工具中不起作用?

转载 作者:行者123 更新时间:2023-11-28 14:25:44 25 4
gpt4 key购买 nike

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开发工具控制台(v70.0.3538.110)中不起作用。 chrome控制台中有代码的结果。

enter image description here

在我看来,代码并没有错。我不知道为什么代码不能很好地工作。

最佳答案

.sort() 回调必须返回一个数字,而不是 bool 值。返回值应该是:

  • 如果第一个元素应该位于第二个元素之前,则为负数;
  • 如果第一个元素应该位于第二个元素之后,则为正数;
  • 如果两个元素的顺序相同,则为零。

对于字符串,您可以使用.localeCompare()方法:

arr.sort((a,b) => a.name.localeCompare(b.name));

关于javascript - 为什么 Array.prototype.sort() 在 Chrome 开发工具中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53433091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com