js如何根据数组某个值进行排序?

var arr =[{"districtCode":"440106","address":"大街","province":"湖南省","city":"长沙市","district":"雨花区","name":"总店","id":300004,"isDefault":false},{"districtCode":"440106","address":"露露路路","province":"广东省","city":"广州市","district":"天河区","name":"服务店","id":300003,"isDefault":true}]

之前用了一下arr.sort(getSortFun('desc', 'isDefault'));不知道为何突然就不起效了。请问这样的写法有什么问题?有其他更好的方法做排序吗?

阅读 5.8k
2 个回答

getSortFun 是哪定义的?这东东明显是自己实现的啊

arr.sort(function(a, b) {
    return b.isDefault - a.isDefault;
});

这段代码如果实现的效果与你的效果相反,你就把参数 ab 的位置互换一下(return 里的不换)就行了。

getSortFun从命名上看明显是自己封装的方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题