javascript - 我有对象数组,我的目标是仅使用 forEach 按升序打印对象的年龄
问题描述
我以学生的名义在该数组中有 Array 我有四个不同的对象。现在我必须打印这些对象,但年龄应该按升序排列,我只能通过使用来做到这一点forEach
。
var students = [{
name: 'Mark',
age: 28
},
{
name: 'Johnson',
age: 30
},
{
name: 'Williams',
age: 12
},
{
name: 'Henry',
age: 27
}
]
students.forEach(fun)
function fun(currentValue, index, arr) {
console.log(currentValue)
}
解决方案
您不使用forEach
对数组进行排序,而是使用sort
(不足为奇!)
var students = [{
name: 'Mark',
age: 28
},
{
name: 'Johnson',
age: 30
},
{
name: 'Williams',
age: 12
},
{
name: 'Henry',
age: 27
}
]
students.sort(sortByAge).forEach(fun)
function sortByAge(a,b){
return a.age - b.age;
}
function fun(currentValue, index, arr) {
console.log(currentValue)
}
推荐阅读
- javascript - 将员工数组转换为字典
- php - 打开图像时更新数据库中的值
- database - Snowflake - is it limit to see Query History only 7 days by default?
- asp.net-core - 注册具有依赖注入的服务
- c# - 实体框架错误:无法访问已处置的对象
- kubernetes - 按服务对指标进行排序?
- python - Python 错误:字符串索引必须是整数
- wordpress - WordPress 将用户移至新系统
- c# - 使用 TRUE 或 FALSE 结果隐藏标题(内部的 Li 部分)
- reactjs - 使用 webpack 3 构建时排除节点模块中的特定 SCSS 文件