const list = [
{
name: "张三",
id: 1,
amount: 1,
balance: 1,
date: "2022-01-02",
},
{
name: "张三",
id: 2,
amount: 1,
balance: 1,
date: "2022-01-04",
},
{
name: "张三",
id: 3,
amount: 15,
balance: 15,
date: "2022-01-05",
},
{
name: '张三',
id: 33,
amount: 33,
balance: 33,
date: '2022-01-05'
},
{
name: "张三",
id: 4,
amount: 1,
balance: 1,
date: "2022-02-01",
},
{
name: "张三",
id: 5,
amount: 1,
balance: 1,
date: "2022-02-02",
},
{
name: "张三",
id: 6,
amount: 26,
balance: 26,
date: "2022-02-06",
},
{
name: '张三',
id: 66,
amount: 66,
balance: 66,
date: '2022-02-06'
},
{
name: "李四",
id: 7,
amount: 1,
balance: 1,
date: "2022-01-02",
},
{
name: "李四",
id: 8,
amount: 1,
balance: 1,
date: "2022-01-03",
},
{
name: "李四",
id: 9,
amount: 215,
balance: 215,
date: "2022-01-05",
},
{
name: "李四",
id: 10,
amount: 1,
balance: 1,
date: "2022-02-01",
},
{
name: "李四",
id: 11,
amount: 1,
balance: 1,
date: "2022-02-03",
},
{
name: "李四",
id: 12,
amount: 225,
balance: 225,
date: "2022-02-05",
},
{
name: "李四",
id: 13,
amount: 1,
balance: 1,
date: "2022-03-01",
},
{
name: "李四",
id: 14,
amount: 1,
balance: 1,
date: "2022-03-05",
},
{
name: "李四",
id: 15,
amount: 236,
balance: 236,
date: "2022-03-06",
},
{
name: "李四",
id: 16,
amount: 212,
balance: 212,
date: "2022-03-06",
},
{
name: "李四",
id: 17,
amount: 234,
balance: 234,
date: "2022-03-06",
}
];
[{
name: '张三',
id: 33,
amount: 15,
balance: 15,
date: '2022-01-05'
},{
name: '张三',
id: 66,
amount: 26,
balance: 26,
date: '2022-02-06'
},{
name: '李四',
id: 9,
amount: 215,
balance: 215,
date: '2022-01-05'
},{
name: '李四',
id: 12
amount: 225,
balance: 225,
date: '2022-02-05'
},{
name: '李四',
id: 17,
amount: 234,
balance: 234,
date: '2022-03-06'
}]
js 获取数组对象中,不同id,相同日期和名称中最大的一天
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
13条回答 默认 最新
关注 OK 稍等
代码如下
const list = [ { name: "张三", id: 1, amount: 1, balance: 1, date: "2022-01-02", }, { name: "张三", id: 2, amount: 1, balance: 1, date: "2022-01-04", }, { name: "张三", id: 3, amount: 15, balance: 15, date: "2022-01-05", }, { name: '张三', id: 33, amount: 33, balance: 33, date: '2022-01-05' }, { name: "张三", id: 4, amount: 1, balance: 1, date: "2022-02-01", }, { name: "张三", id: 5, amount: 1, balance: 1, date: "2022-02-02", }, { name: "张三", id: 6, amount: 26, balance: 26, date: "2022-02-06", }, { name: '张三', id: 66, amount: 66, balance: 66, date: '2022-02-06' }, { name: "李四", id: 7, amount: 1, balance: 1, date: "2022-01-02", }, { name: "李四", id: 8, amount: 1, balance: 1, date: "2022-01-03", }, { name: "李四", id: 9, amount: 215, balance: 215, date: "2022-01-05", }, { name: "李四", id: 10, amount: 1, balance: 1, date: "2022-02-01", }, { name: "李四", id: 11, amount: 1, balance: 1, date: "2022-02-03", }, { name: "李四", id: 12, amount: 225, balance: 225, date: "2022-02-05", }, { name: "李四", id: 13, amount: 1, balance: 1, date: "2022-03-01", }, { name: "李四", id: 14, amount: 1, balance: 1, date: "2022-03-05", }, { name: "李四", id: 15, amount: 236, balance: 236, date: "2022-03-06", }, { name: "李四", id: 16, amount: 212, balance: 212, date: "2022-03-06", }, { name: "李四", id: 17, amount: 234, balance: 234, date: "2022-03-06", } ]; [{ name: '张三', id: 33, amount: 15, balance: 15, date: '2022-01-05' },{ name: '张三', id: 66, amount: 26, balance: 26, date: '2022-02-06' },{ name: '李四', id: 9, amount: 215, balance: 215, date: '2022-01-05' },{ name: '李四', id: 12, amount: 225, balance: 225, date: '2022-02-05' },{ name: '李四', id: 17, amount: 234, balance: 234, date: '2022-03-06' }] let totalDict = {}; list.forEach( item=>{ let dates = item["date"].split("-"); let name = item["name"]; let year = dates[0]; let month = dates[1]; let day = dates[2]; if (!totalDict.hasOwnProperty(name)) { totalDict[name] = {}; } if (!totalDict[name].hasOwnProperty(year)) { totalDict[name][year] = {}; } if (!totalDict[name][year].hasOwnProperty(month)) { totalDict[name][year][month] = "0"; } if (day > totalDict[name][year][month]) { totalDict[name][year][month] = { 'flag': false, 'day': day }; } } ); let newList = []; list.forEach((item) => { let name = item["name"]; let dates = item["date"].split("-"); let year = dates[0]; let month = dates[1]; let day = dates[2]; if ( totalDict[name][year][month]['day'] === day && totalDict[name][year][month]['flag'] === false ) { newList.push(item); totalDict[name][year][month]['flag'] === true } }); console.log(newList); // 需要整理成如下格式 // [{ // name: '张三', // amount: 15, // balance: 15, // date: '2022-01-05' // },{ // name: '张三', // amount: 26, // balance: 26, // date: '2022-02-06' // },{ // name: '李四', // amount: 215, // balance: 215, // date: '2022-01-05' // },{ // name: '李四', // amount: 225, // balance: 225, // date: '2022-02-05' // },{ // name: '李四', // amount: 236, // balance: 236, // date: '2022-03-06' // }]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1
悬赏问题
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 软件测试决策法疑问求解答
- ¥15 win11 23H2删除推荐的项目,支持注册表等
- ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
- ¥15 qt6.6.3 基于百度云的语音识别 不会改
- ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
- ¥15 神经网络怎么把隐含层变量融合到损失函数中?
- ¥15 lingo18勾选global solver求解使用的算法
- ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行