2016-05-10 3 views
-3

前の初期の単語に基づいてリストを並べ替えます。これは単なる例であり、頭文字はbajajのようなものであれば、Chevroletでもかまいません。私は同じ頭文字で始まるすべてが別々のdivになければならないように、リストを動的にソートしたい。この場合、bajaj-4S-championと bajaj-avengerを分離し、Audiを分離する必要があります。ハイフンの前のイニシャルを比較してそれらを分ける方法は?jQueryのは、私がそうで、この</p> <pre><code>bajaj-4S-champion bajaj-avenger audi-a3-diesel audi-a3-petrol </code></pre> <p>と同様に、データベースの何かから生成されたリストを持っているハイフン

+0

、データ操作のこの種のためのjQueryを使用して回避するためのベストプラクティスです。このようなことは、単純なJavaScriptで行うことができます。そうすることで、依存関係がなくなります。 filter、map、reduce、sort、join、forEach(String.splitに加えて)のような実際に(本当に)有用な配列関数があります。 –

答えて

2

データを最初にソートし、それをオブジェクトにグループ化して後で処理することができます。一般的に

var array = ['bajaj-4S-champion', 'bajaj-avenger', 'audi-a3-diesel', 'audi-a3-petrol'], 
 
    object = {}; 
 

 
array.sort(); 
 
array.forEach(function (a) { 
 
    var key = a.split('-')[0]; 
 
    object[key] = object[key] || []; 
 
    object[key].push(a); 
 
}); 
 

 
document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');

+1

ありがとう、私はそれを試してみる –

関連する問題

 関連する問題