javascript - 从数组 Javascript 中获取数据
问题描述
我有一个包含不同数据量的数组,我想用我想要的数据替换数组的周期内容,例如:
- 句号键 0 到 4 的数据数组必须包含“
2010-10-10
”。 - 从键 5 到 10 句点的数据数组必须包含“
2010-11-11
”
条件:我需要一个 0-4、5-9、10-14(5 的倍数)的数据数组 我有以下数据:
[
{
"id": "1",
"name": "SUNARTA",
"period":"",
},
{
"id": "2",
"name": "AAN",
"period":"",
},
{
"id": "3",
"name": "MIKO",
"period":"",
},
{
"id": "4",
"name": "NIKA",
"period":"",
},
{
"id": "5",
"name": "LALA",
"period":"",
},
{
"id": "6",
"name": "MMAAN",
"period":"",
},
{
"id": "7",
"name": "NINA",
"period":"",
}
]
这是我的代码:
for (var i = 0; i < element.length; i++) {
var datePeriod = new Date(req.body.start);
var periode = datePeriod;
if (i % 5 == 0) {
datePeriod.setDate(datePeriod.getDate() + 1);
element[i].periode = periode;
} else {
element[i].periode = periode;
}
}
我想要的数据应该是:
[
{
"id": "1",
"name": "SUNARTA",
"period":"2010-10-10",
},
{
"id": "2",
"name": "AAN",
"period":"2010-10-10",
},
{
"id": "3",
"name": "MIKO",
"period":"2010-10-10",
},
{
"id": "4",
"name": "NIKA",
"period":"2010-10-10",
},
{
"id": "5",
"name": "LALA",
"period":"2010-10-10",
},
{
"id": "6",
"name": "MMAAN",
"period":"2011-11-11",
},
{
"id": "7",
"name": "NINA",
"period":"2011-11-11",
},
]
解决方案
您可以array#map
在每 5 次迭代后根据索引增量日期使用和迭代每个对象并更新period
属性。
const data = [ { "id": "1", "name": "SUNARTA", "period":"", }, { "id": "2", "name": "AAN", "period":"", }, { "id": "3", "name": "MIKO", "period":"", }, { "id": "4", "name": "NIKA", "period":"", }, { "id": "5", "name": "LALA", "period":"", }, { "id": "6", "name": "MMAAN","period":"", }, { "id": "7", "name": "NINA", "period":"", }],
size = 5,
startDate = '2010-10-10',
result = data.map((o,i) => {
let index = Math.floor(i/size);
let period = i == 0 ? new Date(startDate) :
(date => (new Date(date.setDate(date.getDate() + index))))(new Date(startDate));
period = period.toISOString().substring(0,10);
return {...o, period};
},[]);
console.log(result);
推荐阅读
- html - CSS 网格项目在约束下扩展
- ffmpeg - FFmpeg - 裁剪图像空白
- flutter - TabBar 小部件内的动态选项卡而不是静态选项卡
- r - 如何将 von mises 分布拟合到我的数据以生成随机样本
- c# - 2个类之间的2多对多关系
- ios - Unity3d IOS 构建时出现“CreateTextureFromCVTextureCache”错误
- google-apps-script - Google Apps脚本在循环中从/向表格读取和写入数据不起作用
- asp.net-core - 从 VSTS 发布到 Azure Web App 时出现 Zip 文件错误
- java - 多功能 SpringBoot JAVA 应用程序(REST/BATCH/LAMBDA)
- components - Blazor 组件(在库中)和 JSInterop