用于对象中重复的javascript
javascript for repeats in object
嘿,伙计们,我有个问题:)
结果是错误的。我正在筛选个人代码和日期。每个人都有一个数组。你可以从dateArr中看到它。在dateArr中,您可以看到2个不同的数组。这实际上是两个不同的个人。在vm.resReport中有这些人员的日期,我想取vm.resReport中的人员值及其人员代码等于dateArr的人员。并将这些值更新为Arr
for(var item in vm.resReport){
for(var k=0;k < Object.keys(vm.dateArr).length;k++){
for(var days in vm.dateArr[k].Days){
if(vm.resReport[item].mDate==vm.dateArr[k].Days[days].FullDate){
for(var per in vm.resReport[item].Details){
if(vm.dateArr[k].PersonnelCode==vm.resReport[item].Details[per].PersonnelCode){
console.log(vm.resReport[item].Details[per].PersonnelFirstName);
vm.dateArr[k].Days[days].PersonnelCode=[];
vm.dateArr[k].Days[days].PersonnelCode[vm.dateArr[k].PersonnelCode]=vm.resReport[item].Details[per].PersonnelCode;
}
}
}
}
}
}
我的问题是,在第二次重复中。for圆实际上是有效的,但无论k是什么,它都会一起重复,但它需要完成第一个k元素,而不是另一个。但它只是一起重复。
我该如何解决这个问题?谢谢:)干杯!
编辑:在这里我的对象
{
0:{Days:Array[30],PersonnelCode:"PRS_001" PersonnelFirstName:"Güvenc" PersonnelLastName:"Vural"},
1:{Days:Array[30],PersonnelCode:"PRS_111" PersonnelFirstName:"Timur" PersonnelLastName:"Hacizade"}
}
这里是我的resReport对象;
[
{
"Total": 1,
"mDate": "2016-02-15",
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Total": 1,
"mDate": "2016-03-08",
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Total": 1,
"mDate": "2016-04-08",
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Total": 3,
"mDate": "2016-04-09",
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 2
},
{
"PersonnelFirstName": "Timur",
"PersonnelLastName": "Hacizade",
"PersonnelCode": "PRS_111",
"Total": 1
}
]
},
{
"Total": 1,
"mDate": "2016-04-13",
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Total": 1,
"mDate": "2016-04-14",
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
}
]
这是我的日期Arr对象
[
{
"PersonnelCode": "PRS_001",
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"Days": [
{
"Day": "01",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-01",
"ID": 92,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "02",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-02",
"ID": 93,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "03",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-03",
"ID": 94,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "04",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-04",
"ID": 95,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "05",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-05",
"ID": 96,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "06",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-06",
"ID": 97,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "07",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-07",
"ID": 98,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "08",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-08",
"ID": 99,
"StatusName": 1,
"Popover": false,
"Update": false,
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Day": "09",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-09",
"ID": 100,
"StatusName": 3,
"Popover": false,
"Update": false,
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 2
},
{
"PersonnelFirstName": "Timur",
"PersonnelLastName": "Hacizade",
"PersonnelCode": "PRS_111",
"Total": 1
}
]
},
{
"Day": 10,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-10",
"ID": 101,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 11,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-11",
"ID": 102,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 12,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-12",
"ID": 103,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 13,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-13",
"ID": 104,
"StatusName": 1,
"Popover": false,
"Update": false,
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Day": 14,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-14",
"ID": 105,
"StatusName": 1,
"Popover": false,
"Update": false,
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Day": 15,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-15",
"ID": 106,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 16,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-16",
"ID": 107,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 17,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-17",
"ID": 108,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 18,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-18",
"ID": 109,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 19,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-19",
"ID": 110,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 20,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-20",
"ID": 111,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 21,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-21",
"ID": 112,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 22,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-22",
"ID": 113,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 23,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-23",
"ID": 114,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 24,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-24",
"ID": 115,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 25,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-25",
"ID": 116,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 26,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-26",
"ID": 117,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 27,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-27",
"ID": 118,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 28,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-28",
"ID": 119,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 29,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-29",
"ID": 120,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 30,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-30",
"ID": 121,
"StatusName": "NA",
"Popover": false,
"Update": false
}
],
"Update": false
},
{
"PersonnelCode": "PRS_111",
"PersonnelFirstName": "Timur",
"PersonnelLastName": "Hacizade",
"Days": [
{
"Day": "01",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-01",
"ID": 92,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "02",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-02",
"ID": 93,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "03",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-03",
"ID": 94,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "04",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-04",
"ID": 95,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "05",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-05",
"ID": 96,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "06",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-06",
"ID": 97,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "07",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-07",
"ID": 98,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": "08",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-08",
"ID": 99,
"StatusName": 1,
"Popover": false,
"Update": false,
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Day": "09",
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-09",
"ID": 100,
"StatusName": 3,
"Popover": false,
"Update": false,
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 2
},
{
"PersonnelFirstName": "Timur",
"PersonnelLastName": "Hacizade",
"PersonnelCode": "PRS_111",
"Total": 1
}
]
},
{
"Day": 10,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-10",
"ID": 101,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 11,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-11",
"ID": 102,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 12,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-12",
"ID": 103,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 13,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-13",
"ID": 104,
"StatusName": 1,
"Popover": false,
"Update": false,
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Day": 14,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-14",
"ID": 105,
"StatusName": 1,
"Popover": false,
"Update": false,
"Details": [
{
"PersonnelFirstName": "Güvenc",
"PersonnelLastName": "Vural",
"PersonnelCode": "PRS_001",
"Total": 1
}
]
},
{
"Day": 15,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-15",
"ID": 106,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 16,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-16",
"ID": 107,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 17,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-17",
"ID": 108,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 18,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-18",
"ID": 109,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 19,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-19",
"ID": 110,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 20,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-20",
"ID": 111,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 21,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-21",
"ID": 112,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 22,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-22",
"ID": 113,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 23,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-23",
"ID": 114,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 24,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-24",
"ID": 115,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 25,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-25",
"ID": 116,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 26,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-26",
"ID": 117,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 27,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-27",
"ID": 118,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 28,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-28",
"ID": 119,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 29,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-29",
"ID": 120,
"StatusName": "NA",
"Popover": false,
"Update": false
},
{
"Day": 30,
"Cls": "",
"ClsStatus": "",
"FullDate": "2016-04-30",
"ID": 121,
"StatusName": "NA",
"Popover": false,
"Update": false
}
],
"Update": false
}
]
请检查解决方案,并告诉我它是否解决了问题。
for(var item in vm.resReport){
var report = vm.resReport[item];
for(var k=0;k < Object.keys(vm.dateArr).length;k++){
var dateInfo = vm.dateArr[k];
var days = dateInfo.Days;
for(var day in days){
var currDay = days[day];
if(report.mDate==currDay.FullDate){
for(var per in report.Details){
var detail = report.Details[per];
if(dateInfo.PersonnelCode==detail.PersonnelCode){
console.log(detail.PersonnelFirstName);
currDay.PersonnelCode=[];
currDay.PersonnelCode[dateInfo.PersonnelCode]=detail.PersonnelCode;
}
}
}
}
}
}
如果希望在所有k = 1
之前完成所有k = 0
,依此类推,则需要反转循环的嵌套。
for(var k=0;k < Object.keys(vm.dateArr).length;k++){
for(var item in vm.resReport){
...
}
}
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值