开发者社区> 问答> 正文

按字符串属性值对对象数组进行排序

已解决

我有一个JavaScript对象数组:

var objs = [ { first_nom: 'Lazslo', last_nom: 'Jamf' }, { first_nom: 'Pig', last_nom: 'Bodine' }, { first_nom: 'Pirate', last_nom: 'Prentice' } ];

如何按last_nomJavaScript中的值对它们进行排序?

我知道sort(a,b),但这似乎只适用于字符串和数字。我是否需要向toString()对象添加方法?

展开
收起
保持可爱mmm 2020-01-08 15:30:48 464 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    编写自己的比较函数很容易:

    function compare( a, b ) { if ( a.last_nom < b.last_nom ){ return -1; } if ( a.last_nom > b.last_nom ){ return 1; } return 0; }

    objs.sort( compare );

    或内联(c / o Marco Demaio):

    objs.sort((a,b) => (a.last_nom > b.last_nom) ? 1 : ((b.last_nom > a.last_nom) ? -1 : 0));

    问题来源于stack overflow

    2020-01-08 15:31:04
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载