回答

收藏

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

技术问答 技术问答 313 人阅读 | 0 人回复 | 2023-09-11

我有一组 JavaScript 对象:
' D" d6 H# D& {/ l* H9 j" x) U

    / [( s  Y/ Y$ L$ e  Q0 D  Z
  • var objs =      { first_nom: 'Lazslo',last_nom: 'Jamf   first_nom: 'Pig',   last_nom: 'Bodine   first_nom: 'Pirate',last_nom: 'Prentice }code]如何按last_nomJavaScript 中的值对它们进行排序?
    7 D# Z; M. [8 h- A! A) |  {/ Z6 K
  • 我知道sort(a,b),但这似乎只适用于字符串和数字。我需要方向toString()我的对象添加方法吗?9 o6 l& x4 V7 H7 b  G# c% X+ l9 b
  •                                                                
    / B1 _/ c4 F" z; a5 c! m4 g
  •     解决方案:                                                                 J& P+ k3 f: g- x( o% w5 J7 Z
  •                                                                 很容易编写自己的比较函数:[code]function compare( a,b { if ( a.last_nom  b.last_nom{     return 一、  }  return 0;}objs.sort( compare );
    " ~4 Z* V3 e7 z
或内联(c/o Marco Demaio):5 z& j" D: Z* T" x# d
[code]objs.sort((a,b) => (a.last_nom > b.last_nom) 1 : ((b.last_nom > a.last_nom) ? -1 : 0)code]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则