javascript - 使用数组对象获取最大更大的键值
问题描述
我想在Javascript中将一个对象的最大键转换成一个数组,下面是一个JSON数组的例子。我尝试使用 reduce() ES6 函数,但它只会在记录中返回,所以请帮助我获得最大编号。键数组,我还提供我想要的输出,如果高阶函数(ES6)的解决方案会很棒
let arr = [{
key : 1,
name : 'testaa',
dept : 'ggg'
}, {
key : 1,
name : 'testaa',
dept : 'ggg'
}, {
key : 2,
name : 'testaa',
dept : 'ggg'
}, {
key : 2,
name : 'testaa',
dept : 'ggg'
}, {
key : 2,
name : 'testaa',
dept : 'ggg'
}, {
key : 3,
name : 'testaa',
dept : 'ggg'
}, {
key : 3,
name : 'testaa',
dept : 'ggg'
}]
output i want maximum key of array:
arr = [{
key : 3,
name : 'testaa',
dept : 'ggg'
}, {
key : 3,
name : 'testaa',
dept : 'ggg'
}]
我尝试使用减少功能但只获得一条记录
let data = myArray.reduce(function(prev, curr) {
return prev.key > curr.key ? prev : curr;
});
解决方案
您可以分两步完成:
let arr = [{
key: 1,
name: 'testaa',
dept: 'ggg'
}, {
key: 1,
name: 'testaa',
dept: 'ggg'
}, {
key: 2,
name: 'testaa',
dept: 'ggg'
}, {
key: 2,
name: 'testaa',
dept: 'ggg'
}, {
key: 2,
name: 'testaa',
dept: 'ggg'
}, {
key: 3,
name: 'testaa',
dept: 'ggg'
}, {
key: 3,
name: 'testaa',
dept: 'ggg'
}];
let max = Math.max(...arr.map(item => item.key));
console.log(arr.filter(item => item.key === max));
推荐阅读
- azure-devops - 苹果应用商店发布 fastlane 因凭据失败 | 天天要闻 我正在使用 API 身份验证
- api - ImportError:无法从“秘密”导入名称“IEX_CLOUD_API_TOKEN”
- tooltip - 在 SQL Server Management Studio 中使用 Poor Man's T-SQL Formatter 是否有任何其他安装要求?因为我无法访问它
- php - 如何在 WordPress 插件中要求所需的文件?
- c# - 以可编程方式唤醒睡眠中的 Windows 10 屏幕
- javascript - 出现在当前页面内容下方的项目,希望它是浮动窗口
- javascript - 在 JavaScript 中将字符串转换为对象中的数字
- javascript - 从 POST 请求读取 JSON 响应,前端有 JavaScript,后端有 Flask
- c# - 我们应该在 aspnetcore 中做什么,而不是将 SuppressAsyncSuffixInActionNames 设置为 false?
- matlab - matlab中的回归函数不区分预测变量和响应?