javascript - 使用 day 对象检查数组
问题描述
我有一个对象数组,
DayEffort:[{
Description: null
Effort: 2
EffortDate: "2019-05-20T00:00:00"
day:Sunday
Status: "In Progress"
},
{
Description: null
Effort: 1.5
EffortDate: "2019-05-22T00:00:00"
Day : Tuesday
Status: "In Progress"
},
{
Description: null
Effort: 1.5
EffortDate: "2019-05-23T00:00:00"
Day : Thursday
Status: "In Progress"
}]
其中包含day属性,如果day是sunday,则需要push新数组的零索引,Monday在第一个索引,如果不匹配push null值,
异常结果:
NewArray : [
0:{Description: null Effort: 2 EffortDate: "2019-05-20T00:00:00" day:Sunday Status: "In Progress"},
1: null,
2: {Description: null Effort: 2 EffortDate: "2019-05-20T00:00:00" day:Tuesday Status: "In Progress"},
3: null,
4: {Description: null Effort: 2 EffortDate: "2019-05-20T00:00:00" day:Thursday Status: "InProgress"},
5: null,
6: null,
]
试过了,
var DayArray = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday', 'Saterday'];
for(var k = 0 ; k < DayArray.length; k++){
for(var m = 0; m < DayEffort.length; m++){
if(DayArray[k] == DayEffort[m].day){
NewArray.push(DayEffort[m]);
}
else{
NewArray.push(null);
}
}
}
请帮我,
解决方案
像这样(在修复无效的对象值和缺少逗号之后)
const DayEffort = [{ Description: null, Effort: 2, EffortDate: "2019-05-20T00:00:00", Day: "Sunday", Status: "In Progress" }, { Description: null, Effort: 1.5, EffortDate: "2019-05-22T00:00:00", Day: "Tuesday", Status: "In Progress" }, { Description: null, Effort: 1.5, EffortDate: "2019-05-23T00:00:00", Day: "Thursday", Status: "In Progress" } ];
let NewArray= new Array(7).fill(null);
const DayArray = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
DayEffort.forEach(item => NewArray[DayArray.indexOf(item.Day)] = item);
console.log(NewArray);
推荐阅读
- javascript - Markercluster spiderfy - 地图最大缩放级别显示标记图标组而不是带有计数的集群视图
- python-3.x - Python 请求 | 如何保持登录会话?
- php - 如何从随机数计算最小值、最大值和平均值?
- android - 在我的 android studio 中找不到默认活动
- oracle - FormsBuilder 布局编辑器所有颜色都显示为黑色
- java - 使用 AssertJ 3 进行平面提取地图
- angular - 如何在角材料中创建多个sidenav?
- android - 向已经运行的活动发送意图
- extjs - ExtJs ViewModel:传递变量而不是字符串
- javascript - 如何在使用自定义警报弹出窗口时阻止 beforeUnload 上的弹出窗口警报?