对象数组的排序

举例如下一个数组:
var testArr=[ {'name':'Alec','score':78}, {'name':'Tina','score':8}, {'name':'Jack','score':38}, {'name':'Peter','score':48} ]
若要依照数组中每个元素的score为标准进行升序或降序排序,有如下封装方法实现:
var compare = function (prop,type) { return function (obj1, obj2) { var val1 = obj1[prop]; var val2 = obj2[prop]; if (!isNaN(Number(val1)) && !isNaN(Number(val2))) { val1 = Number(val1); val2 = Number(val2); } //递增 if(type==1){ if (val1 < val2) { return -1; } else if (val1 > val2) { return 1; } else { return 0; } }else if(type==-1){ if (val1 < val2) { return 1; } else if (val1 > val2) { return -1; } else { return 0; } } } }
对数组调用
testArr.sort(compare('score',1))
则得到如下结果,完成递增排序

图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • FreeCodeCamp - Basic JavaScript 写在前面: 我曾经在进谷前刷过这一套题,不过当时只...
    付林恒阅读 16,556评论 5 28
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock阅读 8,669评论 2 36
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 9,315评论 0 6
  • 题头:向来情深,奈何缘浅… 2008年毕业季,这个夏蝉聒噪的时候,一个杭州林学院外语系的男生,毕业了,也就失...
    望乡的牧神阅读 2,571评论 0 0
  • 最近总有深深的无力感 皮蛋越来越大 马上就18m了 越来越调皮 总是和我唱着反调 我好累 不断质疑我自己 是不是没...
    小手摸大xiang阅读 3,561评论 0 0

友情链接更多精彩内容