回答

收藏

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

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

我有一组 JavaScript 对象:
$ U* V- ^/ x3 f' N' K! S7 X

    , r1 v9 @2 r! n, T* \; x
  • var objs =      { first_nom: 'Lazslo',last_nom: 'Jamf   first_nom: 'Pig',   last_nom: 'Bodine   first_nom: 'Pirate',last_nom: 'Prentice }code]如何按last_nomJavaScript 中的值对它们进行排序?
    * ?$ Y4 S3 Y/ a
  • 我知道sort(a,b),但这似乎只适用于字符串和数字。我需要方向toString()我的对象添加方法吗?
    ; G& B0 J, w' i+ H/ n% O
  •                                                                3 V: R. ^. H5 ?( f: F
  •     解决方案:                                                               
    / j/ a3 o$ g7 k1 {1 G+ z7 r9 _
  •                                                                 很容易编写自己的比较函数:[code]function compare( a,b { if ( a.last_nom  b.last_nom{     return 一、  }  return 0;}objs.sort( compare );
    5 `4 F5 [1 |+ H" A0 C4 L- [5 b! F
或内联(c/o Marco Demaio):
0 Q# y3 w2 W1 c2 b( R6 O[code]objs.sort((a,b) => (a.last_nom > b.last_nom) 1 : ((b.last_nom > a.last_nom) ? -1 : 0)code]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则