ãã£ã¼ã«ãã§ã½ã¼ããã
éè¦æ§: 5
ã½ã¼ããããªãã¸ã§ã¯ãã®é åãæã£ã¦ããã¨ãã¾ãã:
let users = [
{ name: "John", age: 20, surname: "Johnson" },
{ name: "Pete", age: 18, surname: "Peterson" },
{ name: "Ann", age: 19, surname: "Hathaway" }
];
ãããããããã®éå¸¸ã®æ¹æ³ã¯ãã®ããã«ãªãã¾ã:
// by name (Ann, John, Pete)
users.sort((a, b) => a.name > b.name ? 1 : -1);
// by age (Pete, Ann, John)
users.sort((a, b) => a.age > b.age ? 1 : -1);
ç§ãã¡ã¯ãã®ããã«åé·ããç¡ãããã¨ã¯ã§ãã¾ããï¼
users.sort(byField('name'));
users.sort(byField('age'));
ã¤ã¾ãã颿°ãè§æããã« byField(fieldName) ãç½®ãã¾ãã
ãã®ããã«ä½¿ã byField 颿°ãæ¸ãã¦ãã ããã
let users = [
{ name: "John", age: 20, surname: "Johnson" },
{ name: "Pete", age: 18, surname: "Peterson" },
{ name: "Ann", age: 19, surname: "Hathaway" }
];
function byField(field) {
return (a, b) => a[field] > b[field] ? 1 : -1;
}
users.sort(byField('name'));
users.forEach(user => alert(user.name)); // Ann, John, Pete
users.sort(byField('age'));
users.forEach(user => alert(user.name)); // Pete, Ann, John