You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pug/Jade模板中对JSON数据排序(替代Node.js端排序)

在Pug/Jade模板内实现数组排序的方法

没问题!要直接在Pug模板里对返回的popularPlaces数组按locationscore降序排序,你可以利用Pug支持的原生JavaScript表达式来完成,具体步骤如下:

首先,在模板中先对数组进行排序处理(推荐先复制原数组再排序,避免修改原始数据),然后遍历排序后的结果:

// 先复制数组并按locationscore降序排序
- const sortedPopularPlaces = [...popularPlaces].sort((a, b) => b.locationscore - a.locationscore)

// 遍历排序后的数组展示
each place in sortedPopularPlaces
  .h2 Top Popular Places #{place.placename}

代码说明:

  • [...popularPlaces]:用扩展运算符复制原数组,避免sort()方法原地修改原始的popularPlaces数据(如果不需要保留原数组,也可以直接用popularPlaces.sort(...))
  • sort((a, b) => b.locationscore - a.locationscore):JavaScript数组的排序方法,通过比较两个元素的locationscore值,实现降序排列;如果需要升序,只需把表达式换成a.locationscore - b.locationscore

用你提供的示例数据测试,排序后展示的顺序会是:

  1. Mahattan Bakery(0.899802)
  2. Modern Stop(0.8734)
  3. Baker's Bakery(0.8123)
  4. Combo Boo(0.808973)
  5. Next Coffee(0.807121)
  6. Mainland Cafe(0.801271)

完全符合你想要的按评分降序展示的需求~

内容的提问来源于stack exchange,提问作者floss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:51:03