Javascript JQuery根据连字符前的初始单词对列表进行排序
我有一个从数据库中生成的列表Javascript JQuery根据连字符前的初始单词对列表进行排序,javascript,jquery,Javascript,Jquery,我有一个从数据库中生成的列表 bajaj-4S-champion bajaj-avenger audi-a3-diesel audi-a3-petrol 等等。这只是一个例子,首字母可以是任何类似bajaj的,也可以是雪佛兰。我想对列表进行动态排序,这样所有以相同首字母开头的列表都应该在单独的div中。在本例中,bajaj-4S-champion和 bajaj复仇者和奥迪应该分开。如何在连字符之前比较首字母并将其分离出来?您可以先对数据进行排序,然后将其分组到对象中进行进一步处理 var数组
bajaj-4S-champion
bajaj-avenger
audi-a3-diesel
audi-a3-petrol
等等。这只是一个例子,首字母可以是任何类似bajaj的,也可以是雪佛兰。我想对列表进行动态排序,这样所有以相同首字母开头的列表都应该在单独的div中。在本例中,bajaj-4S-champion和
bajaj复仇者和奥迪应该分开。如何在连字符之前比较首字母并将其分离出来?您可以先对数据进行排序,然后将其分组到对象中进行进一步处理
var数组=['bajaj-4S-champion'、'bajaj avenger'、'audi-a3-diesel'、'audi-a3-汽油机'],
对象={};
array.sort();
array.forEach(函数(a){
var key=a.split('-')[0];
对象[键]=对象[键]| |[];
对象[键]。推送(a);
});
document.write(''+JSON.stringify(object,0,4)+'')代码>谢谢,我一般会尝试一下,避免使用jQuery进行这种数据操作是最好的做法。这种事情可以在普通JavaScript中完成,这样做可以消除依赖性。除了String.split之外,还有一些非常(非常)有用的数组函数,比如filter、map、reduce、sort、join和forEach。