使用 CoffeeScript 从 Jade 中的用户数据排序进度

Sorting Progress from User Data in Jade using CoffeeScript

我目前有一个问题。我正在尝试在 Jade 模板系统中将进度条从小到大排序。

基本上,当前在 jade 端设置脚本的方式只是使用 node-rest-client 从 REST api 抓取数据,然后我在 Jade 模板中解释数据。

我目前已经加载了法术,进度条正在运行,但我一直试图对其进行排序但无济于事。

有什么方法可以让我使用 Array.prototype.sort() 之类的东西吗?

这是配置文件代码:

extends layout

block content
  h1= title
  if !Player.Sorted
    p
    | You are looking @ data for #{Player.Username}
  else
    .row
        .col-md-4
            img(src="http://localhost:3009/image/" + Uuid + "&hrh=-20&aa=true")
        .col-md-4
            p
                | #{Player.Firstname} #{Player.Lastname} is year 
                strong #{Player.Year}
                |  and has traveled 
                strong #{Highscore.Playtime}
                |  blocks!
            ul
                each Spell in Spells.Spells
                    - var spellc = Math.trunc(Spell.CastCount/5000*100)
                    if spellc > 100
                        .progress
                            span.progress-value #{Spell.Name.replace("_", " ").toLowerCase()} 100% - Mastered
                            .progress-bar.progress-bar-success(
                                role='progressbar', aria-valuenow='100', aria-valuemin='0', aria-valuemax='100', style='width:100%')
                    else
                        .progress
                            span.progress-value #{Spell.Name.replace("_", " ").toLowerCase()} #{spellc}%
                            .progress-bar.progress-bar-success(
                                role='progressbar', aria-valuenow=''+spellc+'', aria-valuemin='0', aria-valuemax='100', style='width:' + spellc + '%')

当然,Array.prototype.sort() 会按照您的建议进行操作。

如果我没猜错,你想按 Spell.CastCount 排序,对吧?在这种情况下,如果在从服务器检索阵列后立即在脚本中对阵列执行此操作,应该可以解决问题:

Spells.sort(function(spell1, spell2) {
        return spell1.CastCount - spell2.CastCount;
});