2017-08-18 23 views
0

データベースからのリストをループする単純なスクリプトがあります。このリストをソートしたいと思います。どのように私はそれを "年"の値で並べ替えることができますか?Redisデータ操作

<tbody> 
    {{ for(var car in it.carList) { }} 
    <tr> 
    <td>{{=it.carList[car].make.name}}</td> 
    <td>{{=it.carList[car].make.color}}</td> 
    <td>{{=it.carList[car].make.year}}</td> 
    </tr> 
    {{ } }} 
</tbody> 
+1

'sort()'関数はおそらく? – tadman

+1

@tadmanもっと教えてください。これがどんな言語であるかは分かりません。 (jquey?) – Matthr0X

+3

Google:「MDNソート」(https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)を取得します。 – tadman

答えて

0

カスタムcompareFunctionと、コメントで述べたArray.prototype.sort機能を使用することができます。

{{ for(var car in it.carList) { }} 

{{ for(var car in it.carList.sort((a, b) => { 
    a.make.year - b.make.year; 
}) { }} 

は最初のものの方が小さい場合、正の値が第2の一方は何をしている、小さければ負の値をもたらす2つの数値を減算と交換.sort()を探している。

リストに変更され、後で使用するとソートされることに注意してください。

+0

複雑さはどうですか? – akinjide

+0

@akinjideこれはJavaScriptのデフォルトの 'Array.sort'関数です。私は複雑さが何であるか分かりませんが、できる限り組み込み関数を使うべきです... –

+0

'Array.prototype.sort'は最適化とバトルテストに同意しますが、' n^2'レコードを扱うときは、ビューの並べ替えはスケールされません。 – akinjide