JQuery根据连字符前的首字母对列表进行排序



我有一个从数据库生成的列表,类似于

bajaj-4S-champion
bajaj-avenger
audi-a3-diesel
audi-a3-petrol

等等。这只是一个例子,首字母可以是任何像bajaj的名字,也可以是雪佛兰。我想对列表进行动态排序,使所有以相同首字母开头的都应该在单独的div中bajaj复仇者应该分开,奥迪应该分开。如何比较连字符前的首字母并将它们分开?

您可以先对数据进行排序,然后将其分组到一个对象中进行进一步处理。

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>');

最新更新