您的位置:首页 > Web前端 > JavaScript

JS使用sort按照某个属性的值进行排序

2019-01-04 15:38 393 查看

**sort排序,每个文件都有名字,大小,类型时间,可以按照某个属性的值进行排序

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<script>
function File(name, size,type,time) {
this.name = name;
this.size = size;
this.type=  type;
this.time = time;
}
var f1 = new File("jsde.zip", "120KB", "zip","1997-01-12");
var f2 = new File("asqw.doc", "200KB","doc", "2107-01-12");
var f3 = new File("xqw.jpg", "40KB", "jpg","2011-11-02");
var arr = [f1, f2, f3];

function fn(attr) {
return function getSort(obj1, obj2) {
if(attr=="size"){
obj1[attr]=parseInt(obj1[attr]);
obj2[attr]=parseInt(obj2[attr]);
}
if (obj1[attr] > obj2[attr]) {
return 1;
}
if (obj1[attr]< obj2[attr]) {
return -1;
}
return 0;
}

}
arr.sort(fn("size"));//按大小排序
for (var i = 0; i < arr.length; i++) {
if(arr[i].size==parseInt(arr[i].size)){
console.log(arr[i].name + "====" + arr[i].size + "KB==="+  arr[i].type+"===="  + arr[i].time);
}
else
console.log(arr[i].name + "====" + arr[i].size + "==="+  arr[i].type+"===="  + arr[i].time);
}

</script>
</head>
<body>
</body>
</html>

arr.sort(fn(“size”));//按大小排序
arr.sort(fn(“type”));//按类型排序

以此类推

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐