在JavaScript里使用sort方法枢析,根據(jù)數(shù)組對(duì)象里面的某個(gè)屬性值進(jìn)行從大到小,從小到大排序
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script>
let list = [
{ name: "zs3", data: "20200110", age: 10 },
{ name: "zs6", data: "20200113", age: 13 },
{ name: "zs2", data: "20200109", age: 9 },
{ name: "zs8", data: "20200115", age: 15 },
{ name: "zs4", data: "20200111", age: 11 },
{ name: "zs1", data: "20200108", age: 8 },
{ name: "zs7", data: "20200114", age: 14 },
{ name: "zs5", data: "20200112", age: 12 }
]
/* -----------sort排序-------------------- */
/* let arr = [];
list.map(item => arr.push(item.data));
function sortNum(a, b) {
// return b - a;//從大到小
return a - b; //從小到大
}
arr.sort(sortNum);
let arr2 = [];
arr.forEach((v, i) => {
list.forEach(res => {
if (res.data === v) {
arr2.push(res);
}
});
});
list = arr2;
console.log(list);
*/
/* -----------sort排序 粗魯方法-------------------- */
/*
let arr = [];
list.map(item => arr.push(item.data));
arr.sort();
let arr2 = [];
arr.forEach((v, i) => {
list.forEach(res => {
if (res.data === v) {
arr2.push(res);
}
});
});
// list = arr2; //從小到大
list = arr2.reverse();//從大到小
console.log(list);
*/
/* ---------根據(jù)某個(gè)屬性值排序 1 --------------------- */
/* function compare(prop) {
return function (a, b) {
let v1 = a[prop];
let v2 = b[prop];
// return v1 - v2; //從小到大
return v2 - v1; //從大到小
};
}
list.sort(compare("data"));
console.log(list);
*/
/* ---------根據(jù)某個(gè)屬性值排序 2 終極法--------------------- */
// let a = list.sort((a, b) => { return b.data - a.data });/* 從大到小 */
// console.log(a);
// let a = list.sort((a, b) => { return a.data - b.data });/* 正向排序 */
// console.log(a);
</script>
</body>
</html>
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者