对象中重复的javascript

对象中重复的javascript,javascript,object,Javascript,Object,嘿,伙计们,我有个问题:) 结果是错误的。我正在筛选个人代码和日期。每个人都有一个数组。你可以从dateArr看到它。在dateArr中,您可以看到两个不同的数组。这实际上是两个不同的个人问题。在vm.resReport中,有这些人员的日期。我想将vm.resReport中的人员值及其人员代码设置为dateArr的人员。并将这些值设置为dateArr for(var item in vm.resReport){ for(var k=0;k < Object.keys(vm.date

嘿,伙计们,我有个问题:)

结果是错误的。我正在筛选个人代码和日期。每个人都有一个数组。你可以从dateArr看到它。在dateArr中,您可以看到两个不同的数组。这实际上是两个不同的个人问题。在vm.resReport中,有这些人员的日期。我想将vm.resReport中的人员值及其人员代码设置为dateArr的人员。并将这些值设置为dateArr

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;
                    }
                }
            }
        } 
    }
}
这里是我的报告对象

[
  {
    "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
      }
    ]
  }
]
这是我的dateArr对象

[
  {
    "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;
                    }
                }
            }
        }   
    }
}
for(vm.resReport中的var项){
var report=vm.resReport[项目];
for(var k=0;k
如果希望在所有
k=1
之前完成所有
k=0
,等等,则需要反转循环的嵌套

for(var k=0;k < Object.keys(vm.dateArr).length;k++){
    for(var item in vm.resReport){
        ...
    }
}
for(var k=0;k
为什么要使用
Object.keys(vm.dateArr.length
而不是
vm.dateArr.length
?这是一个对象,你是对的,但它没有解决问题:/n还有其他想法吗?很难理解你在这里想做什么。你能显示原始值和你试图得到的结果吗?如果它是一个对象,为什么你像数组一样访问它,而不是使用键
vm.dateArr[k]
应该是
vm.dateArr[Object.keys(vm.dateArr)[k]]
。这是不可读的。把它放在问题中,这样你就可以把它格式化为易读的格式。谢谢你,它帮助了你,但仍然不起作用:/I我更新了我的问题,现在它更易读了。你能再看一遍吗?谢谢:)你能再给我一份resReport吗?我在编辑中添加了resReport和dateArr对象。你可以看:)再次感谢。现在请检查一下这是否有效。我看到你现在将dateArr更改为array,对吗?
for(var k=0;k < Object.keys(vm.dateArr).length;k++){
    for(var item in vm.resReport){
        ...
    }
}