js数组实现简单排序
<script>
var json = [
{
"name": "张三",
"course": "数学",
"grade": 100
},
{
"name": "张三",
"course": "语文",
"grade": 99
},
{
"name": "李四",
"course": "外语",
"grade": 88
},
{
"name": "张三",
"course": "外语",
"grade": 98
},
{
"name": "李四",
"course": "语文",
"grade": 90
},
{
"name": "李四",
"course": "数学",
"grade": 89
},
{
"name": "张思",
"course": "外语",
"grade": 98
},
{
"name": "张思",
"course": "语文",
"grade": 90
},
{
"name": "张思",
"course": "数学",
"grade": 89
}
]
json= json.sort((student1, student2) => {
//console.log(student2.name - student1.name);
//console.log(student2.grade + "----" + student1.grade);
//console.log(student2.name - student1.name);
//var result = (student2.name + student2.course + student2.grade) > (student1.name + student1.course + student1.grade) ? 1 : -1;
//var result = (student2.name + student2.course + student2.grade) > (student1.name + student1.course + student1.grade) ? 1 : -1;
var result = (student1.name + student1.course + student1.grade).localeCompare((student2.name + student2.course + student2.grade), 'zh-CN');
return result;
});
console.log(json);
</script>
以上代码按找姓名、课程升序排序。
主要是利用: arr.sort 和 item1.localeCompare(item2, 'zh-CN');

浙公网安备 33010602011771号