如何使用Javascript从对象分组年份?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用Javascript从对象分组年份?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1783字,纯文字阅读大概需要3分钟。
内容图文
![如何使用Javascript从对象分组年份?](/upload/InfoBanner/zyjiaocheng/735/bf4a9f96c4ee4eb684ce3e51d98abf36.jpg)
我想在JavaScript中创建一个新对象来分组年份.它会将数据存储到年份组中.
我现在的数据:
{
"8": {
"date": "2016-02-26",
"value": "0.89000"
},
"7": {
"date": "2017-02-27",
"value": "0.94000"
},
"6": {
"date": "2017-06-01",
"value": "0.94000"
},
"5": {
"date": "2017-08-30",
"value": "0.94000"
},
"4": {
"date": "2017-11-30",
"value": "1.01000"
},
"3": {
"date": "2018-02-28",
"value": "1.01000"
},
"2": {
"date": "2018-06-01",
"value": "1.01000"
},
"1": {
"date": "2018-08-31",
"value": "1.01000"
},
"0": {
"date": "2018-11-30",
"value": "1.16000"
}
}
我想转换成类似的东西:
{
2016: [
{
"date": "2016-02-26",
"value": "0.89000"
}
],
2017: [
{
"date": "2017-02-27",
"value": "0.94000"
},
{
"date": "2017-06-01",
"value": "0.94000"
},
{
"date": "2017-06-01",
"value": "0.94000"
},
{
"date": "2017-08-30",
"value": "0.94000"
}
],
2018: [
{
"date": "2018-02-27",
"value": "0.104000"
},
{
"date": "2018-06-01",
"value": "1.01000"
},
{
"date": "2018-08-31",
"value": "1.01000"
},
{
"date": "2018-11-30",
"value": "1.16000"
}
]
}
还有一些内容可以在此处发布问题.还有一些内容可以在此处发布问题.还有一些内容可以在此处发布问题.还有一些内容可以在此处发布问题.还有一些内容可以在此处发布问题.
解决方法:
您可以使用Object.values将对象转换为数组.使用reduce循环遍历数组并将其汇总到一个对象中.使用substring(0,4)获取日期字符串的前4个字符.
var obj = {"0":{"date":"2018-11-30","value":"1.16000"},"1":{"date":"2018-08-31","value":"1.01000"},"2":{"date":"2018-06-01","value":"1.01000"},"3":{"date":"2018-02-28","value":"1.01000"},"4":{"date":"2017-11-30","value":"1.01000"},"5":{"date":"2017-08-30","value":"0.94000"},"6":{"date":"2017-06-01","value":"0.94000"},"7":{"date":"2017-02-27","value":"0.94000"},"8":{"date":"2016-02-26","value":"0.89000"}}
var result = Object.values(obj).reduce((c, v) => {
var y = v.date.substring(0, 4);
(c[y] = c[y] || []).push(v);
return c;
}, {});
console.log(result);
内容总结
以上是互联网集市为您收集整理的如何使用Javascript从对象分组年份?全部内容,希望文章能够帮你解决如何使用Javascript从对象分组年份?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。