JavaScript 对对象数组进行递归搜索,并获取新的对象数组

标签 javascript ecmascript-6 foreach

我有 2 个大数组。当我将它们发送到带有 require 标签的函数时,我想创建一个具有现有标签的对象,并将所有值添加为数组。这可能吗?

如果可以,如何实现?我尝试过没有结果。

这是我的尝试:

//在此处添加您的代码

const data= [
  {
    "ProgramSubjectGroupAssocId": 0,
    "SubjectSubGroupId": 3,
    "SubjectId": 4,
    "SubjectSrcId": null,
    "ProgramSubjectGroupAssoc": null,
    "Subject": {
      "SubjectSrcId": "4",
      "SubjectName": "Literature",
      "AlternateIdentifier": "4.0",
      "IsActive": true,
      "ProgrammeId": 0,
      "SubjectGroupId": null,
      "SubjectSubGroupId": null,
      "TranslatedName": null,
      "TranslatedShortCode": null,
      "LanguageCode": null,
      "SubjectGroup": null,
      "SubjectSubGroup": null,
      "SubjectCurriculum": [
        {
          "VersionNumber": 3,
          "VersionStartDate": "2021-03-01T00:00:00+00:00",
          "VersionEndDate": "2036-12-01T00:00:00+00:00",
          "FirstTeachingDate": "2023-06-01T00:00:00+00:00",
          "FirstAssessmentDate": "2023-06-01T00:00:00+00:00",
          "LastAssessmentDate": "2024-06-01T00:00:00+00:00",
          "GradePredicted": true,
          "CurriculumTypeId": 0,
          "GradingSystemId": 123,
          "SubjectId": 4,
          "ProgrammeId": 0,
          "SubjectGroupId": 0,
          "SubjectSubGroupId": null,
          "GradingSystem": null,
          "Course": [
            {
              "AlternateCourseId": 3,
              "SubjectCurriculumId": 383,
              "SubjectLevelId": 50,
              "SubjectOptionId": null,
              "IsActive": true,
              "SubjectLevel": null,
              "SubjectOption": null,
              "CourseComponentAssoc": [],
              "CourseResponseLanguageAssoc": [
                {
                  "CourseId": 543,
                  "IblanguageId": 1,
                  "Iblanguage": {
                    "LanguageCode": "en-GB",
                    "LanguageCode2": "1",
                    "LanguageName": "English",
                    "IsActive": true,
                    "IblanguageTypeAssoc": [],
                    "Id": 1,
                    "CreatedBy": 1,
                    "CreatedDate": "2019-10-14T00:00:00+00:00",
                    "UpdatedBy": null,
                    "UpdatedDate": null,
                    "UpdatedByName": null,
                    "CreatedByName": "User, 01"
                  },
                  "languageName": null,
                  "Id": 512,
                  "CreatedBy": 1,
                  "CreatedDate": "2020-03-03T09:59:56+00:00",
                  "UpdatedBy": null,
                  "UpdatedDate": null,
                  "UpdatedByName": null,
                  "CreatedByName": "User, 01"
                }
              ],
              "Id": 543,
              "CreatedBy": 1,
              "CreatedDate": "2020-03-03T09:59:56+00:00",
              "UpdatedBy": null,
              "UpdatedDate": null,
              "UpdatedByName": null,
              "CreatedByName": "User, 01"
            },
            {
              "AlternateCourseId": 1,
              "SubjectCurriculumId": 383,
              "SubjectLevelId": 51,
              "SubjectOptionId": null,
              "IsActive": true,
              "SubjectLevel": null,
              "SubjectOption": null,
              "CourseComponentAssoc": [],
              "CourseResponseLanguageAssoc": [
                {
                  "CourseId": 544,
                  "IblanguageId": 1,
                  "Iblanguage": {
                    "LanguageCode": "en-GB",
                    "LanguageCode2": "1",
                    "LanguageName": "English",
                    "IsActive": true,
                    "IblanguageTypeAssoc": [],
                    "Id": 1,
                    "CreatedBy": 1,
                    "CreatedDate": "2019-10-14T00:00:00+00:00",
                    "UpdatedBy": null,
                    "UpdatedDate": null,
                    "UpdatedByName": null,
                    "CreatedByName": "User, 01"
                  },
                  "languageName": null,
                  "Id": 513,
                  "CreatedBy": 1,
                  "CreatedDate": "2020-03-03T09:59:56+00:00",
                  "UpdatedBy": null,
                  "UpdatedDate": null,
                  "UpdatedByName": null,
                  "CreatedByName": "User, 01"
                }
              ],
              "Id": 544,
              "CreatedBy": 1,
              "CreatedDate": "2020-03-03T09:59:56+00:00",
              "UpdatedBy": null,
              "UpdatedDate": null,
              "UpdatedByName": null,
              "CreatedByName": "User, 01"
            }
          ],
          "CourseTypeId": 0,
          "CourseName": null,
          "GradingName": null,
          "Id": 383,
          "CreatedBy": 1,
          "CreatedDate": "2020-03-03T09:59:57.087+00:00",
          "UpdatedBy": 1,
          "UpdatedDate": "2020-03-03T09:59:56+00:00",
          "UpdatedByName": "User, 01",
          "CreatedByName": "User, 01"
        }
      ],
      "SubjectOption": [],
      "Id": 4,
      "CreatedBy": 1,
      "CreatedDate": "2020-02-13T08:46:03.37+00:00",
      "UpdatedBy": null,
      "UpdatedDate": null,
      "UpdatedByName": null,
      "CreatedByName": "User, 01"
    },
    "SubjectSubGroup": {
      "SubGroupSrcId": "3",
      "ProgrammeId": 0,
      "SubGroupNumber": 1,
      "SubGroupName": "Languages",
      "TranslatedName": null,
      "IsActive": true,
      "TranslatedShortCode": null,
      "LanguageCode": null,
      "AlternateIdentifier": 1,
      "SubjectGroupId": 3,
      "SubjectGroup": null,
      "Subject": null,
      "GroupSubGroupSubjectAssoc": [
        {
          "ProgramSubjectGroupAssocId": 0,
          "SubjectSubGroupId": 3,
          "SubjectId": 4,
          "SubjectSrcId": null,
          "ProgramSubjectGroupAssoc": null,
          "Subject": {
            "SubjectSrcId": "4",
            "SubjectName": "Literature",
            "AlternateIdentifier": "4.0",
            "IsActive": true,
            "ProgrammeId": 0,
            "SubjectGroupId": null,
            "SubjectSubGroupId": null,
            "TranslatedName": null,
            "TranslatedShortCode": null,
            "LanguageCode": null,
            "SubjectGroup": null,
            "SubjectSubGroup": null,
            "SubjectCurriculum": [
              {
                "VersionNumber": 3,
                "VersionStartDate": "2021-03-01T00:00:00+00:00",
                "VersionEndDate": "2036-12-01T00:00:00+00:00",
                "FirstTeachingDate": "2023-06-01T00:00:00+00:00",
                "FirstAssessmentDate": "2023-06-01T00:00:00+00:00",
                "LastAssessmentDate": "2024-06-01T00:00:00+00:00",
                "GradePredicted": true,
                "CurriculumTypeId": 0,
                "GradingSystemId": 123,
                "SubjectId": 4,
                "ProgrammeId": 0,
                "SubjectGroupId": 0,
                "SubjectSubGroupId": null,
                "GradingSystem": null,
                "Course": [
                  {
                    "AlternateCourseId": 3,
                    "SubjectCurriculumId": 383,
                    "SubjectLevelId": 50,
                    "SubjectOptionId": null,
                    "IsActive": true,
                    "SubjectLevel": null,
                    "SubjectOption": null,
                    "CourseComponentAssoc": [],
                    "CourseResponseLanguageAssoc": [
                      {
                        "CourseId": 543,
                        "IblanguageId": 1,
                        "Iblanguage": {
                          "LanguageCode": "en-GB",
                          "LanguageCode2": "1",
                          "LanguageName": "English",
                          "IsActive": true,
                          "IblanguageTypeAssoc": [],
                          "Id": 1,
                          "CreatedBy": 1,
                          "CreatedDate": "2019-10-14T00:00:00+00:00",
                          "UpdatedBy": null,
                          "UpdatedDate": null,
                          "UpdatedByName": null,
                          "CreatedByName": "User, 01"
                        },
                        "languageName": null,
                        "Id": 512,
                        "CreatedBy": 1,
                        "CreatedDate": "2020-03-03T09:59:56+00:00",
                        "UpdatedBy": null,
                        "UpdatedDate": null,
                        "UpdatedByName": null,
                        "CreatedByName": "User, 01"
                      }
                    ],
                    "Id": 543,
                    "CreatedBy": 1,
                    "CreatedDate": "2020-03-03T09:59:56+00:00",
                    "UpdatedBy": null,
                    "UpdatedDate": null,
                    "UpdatedByName": null,
                    "CreatedByName": "User, 01"
                  },
                  {
                    "AlternateCourseId": 1,
                    "SubjectCurriculumId": 383,
                    "SubjectLevelId": 51,
                    "SubjectOptionId": null,
                    "IsActive": true,
                    "SubjectLevel": null,
                    "SubjectOption": null,
                    "CourseComponentAssoc": [],
                    "CourseResponseLanguageAssoc": [
                      {
                        "CourseId": 544,
                        "IblanguageId": 1,
                        "Iblanguage": {
                          "LanguageCode": "en-GB",
                          "LanguageCode2": "1",
                          "LanguageName": "English",
                          "IsActive": true,
                          "IblanguageTypeAssoc": [],
                          "Id": 1,
                          "CreatedBy": 1,
                          "CreatedDate": "2019-10-14T00:00:00+00:00",
                          "UpdatedBy": null,
                          "UpdatedDate": null,
                          "UpdatedByName": null,
                          "CreatedByName": "User, 01"
                        },
                        "languageName": null,
                        "Id": 513,
                        "CreatedBy": 1,
                        "CreatedDate": "2020-03-03T09:59:56+00:00",
                        "UpdatedBy": null,
                        "UpdatedDate": null,
                        "UpdatedByName": null,
                        "CreatedByName": "User, 01"
                      }
                    ],
                    "Id": 544,
                    "CreatedBy": 1,
                    "CreatedDate": "2020-03-03T09:59:56+00:00",
                    "UpdatedBy": null,
                    "UpdatedDate": null,
                    "UpdatedByName": null,
                    "CreatedByName": "User, 01"
                  }
                ],
                "CourseTypeId": 0,
                "CourseName": null,
                "GradingName": null,
                "Id": 383,
                "CreatedBy": 1,
                "CreatedDate": "2020-03-03T09:59:57.087+00:00",
                "UpdatedBy": 1,
                "UpdatedDate": "2020-03-03T09:59:56+00:00",
                "UpdatedByName": "User, 01",
                "CreatedByName": "User, 01"
              }
            ],
            "SubjectOption": [],
            "Id": 4,
            "CreatedBy": 1,
            "CreatedDate": "2020-02-13T08:46:03.37+00:00",
            "UpdatedBy": null,
            "UpdatedDate": null,
            "UpdatedByName": null,
            "CreatedByName": "User, 01"
          },
          "Id": 6,
          "CreatedBy": 12345,
          "CreatedDate": "2020-02-18T09:43:56.823+00:00",
          "UpdatedBy": null,
          "UpdatedDate": null,
          "UpdatedByName": null,
          "CreatedByName": "User, 01"
        }
      ],
      "Id": 3,
      "CreatedBy": 1,
      "CreatedDate": "2020-02-13T08:53:21.85+00:00",
      "UpdatedBy": null,
      "UpdatedDate": null,
      "UpdatedByName": null,
      "CreatedByName": "User, 01"
    },
    "Id": 6,
    "CreatedBy": 12345,
    "CreatedDate": "2020-02-18T09:43:56.823+00:00",
    "UpdatedBy": null,
    "UpdatedDate": null,
    "UpdatedByName": null,
    "CreatedByName": "User, 01"
  },
  {
    "ProgramSubjectGroupAssocId": 0,
    "SubjectSubGroupId": 58,
    "SubjectId": 153,
    "SubjectSrcId": null,
    "ProgramSubjectGroupAssoc": null,
    "Subject": {
      "SubjectSrcId": "21",
      "SubjectName": "Bio 14",
      "AlternateIdentifier": "8.0",
      "IsActive": true,
      "ProgrammeId": 0,
      "SubjectGroupId": null,
      "SubjectSubGroupId": null,
      "TranslatedName": null,
      "TranslatedShortCode": null,
      "LanguageCode": null,
      "SubjectGroup": null,
      "SubjectSubGroup": null,
      "SubjectCurriculum": [
        {
          "VersionNumber": 7,
          "VersionStartDate": "2020-09-01T00:00:00+00:00",
          "VersionEndDate": "2036-09-01T00:00:00+00:00",
          "FirstTeachingDate": "2023-02-01T00:00:00+00:00",
          "FirstAssessmentDate": "2023-06-01T00:00:00+00:00",
          "LastAssessmentDate": "2021-06-01T00:00:00+00:00",
          "GradePredicted": true,
          "CurriculumTypeId": 1,
          "GradingSystemId": 123,
          "SubjectId": 153,
          "ProgrammeId": 0,
          "SubjectGroupId": 0,
          "SubjectSubGroupId": null,
          "GradingSystem": null,
          "Course": [],
          "CourseTypeId": 0,
          "CourseName": null,
          "GradingName": null,
          "Id": 357,
          "CreatedBy": 1,
          "CreatedDate": "2020-03-02T12:23:58.38+00:00",
          "UpdatedBy": 1,
          "UpdatedDate": "2020-03-02T12:23:57+00:00",
          "UpdatedByName": "User, 01",
          "CreatedByName": "User, 01"
        },
        {
          "VersionNumber": 9,
          "VersionStartDate": "2020-09-01T00:00:00+00:00",
          "VersionEndDate": "2036-09-01T00:00:00+00:00",
          "FirstTeachingDate": "2023-02-01T00:00:00+00:00",
          "FirstAssessmentDate": "2023-06-01T00:00:00+00:00",
          "LastAssessmentDate": "2021-06-01T00:00:00+00:00",
          "GradePredicted": true,
          "CurriculumTypeId": 0,
          "GradingSystemId": 123,
          "SubjectId": 153,
          "ProgrammeId": 0,
          "SubjectGroupId": 0,
          "SubjectSubGroupId": null,
          "GradingSystem": null,
          "Course": [
            {
              "AlternateCourseId": 3,
              "SubjectCurriculumId": 359,
              "SubjectLevelId": 50,
              "SubjectOptionId": null,
              "IsActive": true,
              "SubjectLevel": null,
              "SubjectOption": null,
              "CourseComponentAssoc": [],
              "CourseResponseLanguageAssoc": [
                {
                  "CourseId": 506,
                  "IblanguageId": 1,
                  "Iblanguage": {
                    "LanguageCode": "en-GB",
                    "LanguageCode2": "1",
                    "LanguageName": "English",
                    "IsActive": true,
                    "IblanguageTypeAssoc": [],
                    "Id": 1,
                    "CreatedBy": 1,
                    "CreatedDate": "2019-10-14T00:00:00+00:00",
                    "UpdatedBy": null,
                    "UpdatedDate": null,
                    "UpdatedByName": null,
                    "CreatedByName": "User, 01"
                  },
                  "languageName": null,
                  "Id": 464,
                  "CreatedBy": 1,
                  "CreatedDate": "2020-03-02T12:25:32+00:00",
                  "UpdatedBy": null,
                  "UpdatedDate": null,
                  "UpdatedByName": null,
                  "CreatedByName": "User, 01"
                }
              ],
              "Id": 506,
              "CreatedBy": 1,
              "CreatedDate": "2020-03-02T12:25:32+00:00",
              "UpdatedBy": null,
              "UpdatedDate": null,
              "UpdatedByName": null,
              "CreatedByName": "User, 01"
            }
          ],
          "CourseTypeId": 0,
          "CourseName": null,
          "GradingName": null,
          "Id": 359,
          "CreatedBy": 1,
          "CreatedDate": "2020-03-02T12:25:32.96+00:00",
          "UpdatedBy": 1,
          "UpdatedDate": "2020-03-02T12:25:32+00:00",
          "UpdatedByName": "User, 01",
          "CreatedByName": "User, 01"
        }
      ],
      "SubjectOption": [],
      "Id": 153,
      "CreatedBy": 1,
      "CreatedDate": "2020-02-25T10:43:32.79+00:00",
      "UpdatedBy": null,
      "UpdatedDate": null,
      "UpdatedByName": null,
      "CreatedByName": "User, 01"
    },
    "SubjectSubGroup": {
      "SubGroupSrcId": "44",
      "ProgrammeId": 0,
      "SubGroupNumber": 9,
      "SubGroupName": "Languageandarts12",
      "TranslatedName": null,
      "IsActive": true,
      "TranslatedShortCode": null,
      "LanguageCode": null,
      "AlternateIdentifier": 9,
      "SubjectGroupId": 79,
      "SubjectGroup": null,
      "Subject": null,
      "GroupSubGroupSubjectAssoc": [
        {
          "ProgramSubjectGroupAssocId": 0,
          "SubjectSubGroupId": 58,
          "SubjectId": 153,
          "SubjectSrcId": null,
          "ProgramSubjectGroupAssoc": null,
          "Subject": {
            "SubjectSrcId": "21",
            "SubjectName": "Bio 14",
            "AlternateIdentifier": "8.0",
            "IsActive": true,
            "ProgrammeId": 0,
            "SubjectGroupId": null,
            "SubjectSubGroupId": null,
            "TranslatedName": null,
            "TranslatedShortCode": null,
            "LanguageCode": null,
            "SubjectGroup": null,
            "SubjectSubGroup": null,
            "SubjectCurriculum": [
              {
                "VersionNumber": 7,
                "VersionStartDate": "2020-09-01T00:00:00+00:00",
                "VersionEndDate": "2036-09-01T00:00:00+00:00",
                "FirstTeachingDate": "2023-02-01T00:00:00+00:00",
                "FirstAssessmentDate": "2023-06-01T00:00:00+00:00",
                "LastAssessmentDate": "2021-06-01T00:00:00+00:00",
                "GradePredicted": true,
                "CurriculumTypeId": 1,
                "GradingSystemId": 123,
                "SubjectId": 153,
                "ProgrammeId": 0,
                "SubjectGroupId": 0,
                "SubjectSubGroupId": null,
                "GradingSystem": null,
                "Course": [],
                "CourseTypeId": 0,
                "CourseName": null,
                "GradingName": null,
                "Id": 357,
                "CreatedBy": 1,
                "CreatedDate": "2020-03-02T12:23:58.38+00:00",
                "UpdatedBy": 1,
                "UpdatedDate": "2020-03-02T12:23:57+00:00",
                "UpdatedByName": "User, 01",
                "CreatedByName": "User, 01"
              },
              {
                "VersionNumber": 9,
                "VersionStartDate": "2020-09-01T00:00:00+00:00",
                "VersionEndDate": "2036-09-01T00:00:00+00:00",
                "FirstTeachingDate": "2023-02-01T00:00:00+00:00",
                "FirstAssessmentDate": "2023-06-01T00:00:00+00:00",
                "LastAssessmentDate": "2021-06-01T00:00:00+00:00",
                "GradePredicted": true,
                "CurriculumTypeId": 0,
                "GradingSystemId": 123,
                "SubjectId": 153,
                "ProgrammeId": 0,
                "SubjectGroupId": 0,
                "SubjectSubGroupId": null,
                "GradingSystem": null,
                "Course": [
                  {
                    "AlternateCourseId": 3,
                    "SubjectCurriculumId": 359,
                    "SubjectLevelId": 50,
                    "SubjectOptionId": null,
                    "IsActive": true,
                    "SubjectLevel": null,
                    "SubjectOption": null,
                    "CourseComponentAssoc": [],
                    "CourseResponseLanguageAssoc": [
                      {
                        "CourseId": 506,
                        "IblanguageId": 1,
                        "Iblanguage": {
                          "LanguageCode": "en-GB",
                          "LanguageCode2": "1",
                          "LanguageName": "English",
                          "IsActive": true,
                          "IblanguageTypeAssoc": [],
                          "Id": 1,
                          "CreatedBy": 1,
                          "CreatedDate": "2019-10-14T00:00:00+00:00",
                          "UpdatedBy": null,
                          "UpdatedDate": null,
                          "UpdatedByName": null,
                          "CreatedByName": "User, 01"
                        },
                        "languageName": null,
                        "Id": 464,
                        "CreatedBy": 1,
                        "CreatedDate": "2020-03-02T12:25:32+00:00",
                        "UpdatedBy": null,
                        "UpdatedDate": null,
                        "UpdatedByName": null,
                        "CreatedByName": "User, 01"
                      }
                    ],
                    "Id": 506,
                    "CreatedBy": 1,
                    "CreatedDate": "2020-03-02T12:25:32+00:00",
                    "UpdatedBy": null,
                    "UpdatedDate": null,
                    "UpdatedByName": null,
                    "CreatedByName": "User, 01"
                  }
                ],
                "CourseTypeId": 0,
                "CourseName": null,
                "GradingName": null,
                "Id": 359,
                "CreatedBy": 1,
                "CreatedDate": "2020-03-02T12:25:32.96+00:00",
                "UpdatedBy": 1,
                "UpdatedDate": "2020-03-02T12:25:32+00:00",
                "UpdatedByName": "User, 01",
                "CreatedByName": "User, 01"
              }
            ],
            "SubjectOption": [],
            "Id": 153,
            "CreatedBy": 1,
            "CreatedDate": "2020-02-25T10:43:32.79+00:00",
            "UpdatedBy": null,
            "UpdatedDate": null,
            "UpdatedByName": null,
            "CreatedByName": "User, 01"
          },
          "Id": 32,
          "CreatedBy": 1,
          "CreatedDate": "2020-02-25T10:52:26.11+00:00",
          "UpdatedBy": null,
          "UpdatedDate": null,
          "UpdatedByName": null,
          "CreatedByName": "User, 01"
        }
      ],
      "Id": 58,
      "CreatedBy": 1,
      "CreatedDate": "2020-02-26T16:48:26.443+00:00",
      "UpdatedBy": null,
      "UpdatedDate": null,
      "UpdatedByName": null,
      "CreatedByName": "User, 01"
    },
    "Id": 32,
    "CreatedBy": 1,
    "CreatedDate": "2020-02-25T10:52:26.11+00:00",
    "UpdatedBy": null,
    "UpdatedDate": null,
    "UpdatedByName": null,
    "CreatedByName": "User, 01"
  }
]


function findId(ids, arr) {
  return arr.reduce((a, item) => {
   for(let [key, value] of Object.entries(item)){
     if (a) return a;
     if (key === id) return [key, value];
     if (Array.isArray(item)) {
       console.log(item);
     }
   }
  }, {});  
}

data.forEach(data => console.log(findId('IsActive, CreatedBy, CreatedDate ', data)));

预期结果:

{
 IsActive: [{IsActive:true},...all instance from the data],
 CreatedBy: [{CreatedBy:1},...all instance from the data],
 CreatedDate: [{CreatedDate:"2020-02-26T16:48:26.443+00:00"}... all instance]
}

我无法继续。有人帮帮我吗?

最佳答案

正如我所说,我不明白其目的。但这可能是您的解决方案。我建议使用正则表达式匹配更快。字符串化和正则表达式匹配。

function collectAll(key, object, values = []) {
  if (object && typeof object === "object") {
    Object.entries(object).forEach(([x, value]) => {
      if (key == x) {
        values.push({ [key]: value });
      } else {
        collectAll(key, value, values);
      }
    });
  } else {
    if (key == object) {
      values.push({ [key]: object });
    }
  }
  return values;
}
function findId(ids, data) {
  let obj = {}
  ids.forEach(key => {
    obj[key] = collectAll(key, data)
  })
  return obj
}
console.log(findId(["IsActive", "CreatedBy", "CreatedDate"], data))

function collectAll(key, object, values = []) {
  if (object && typeof object === "object") {
    Object.entries(object).forEach(([x, value]) => {
      if (key == x) {
        values.push({ [key]: value });
      } else {
        collectAll(key, value, values);
      }
    });
  } else {
    if (key == object) {
      values.push({ [key]: object });
    }
  }
  return values;
}
function findId(ids, data) {
  let obj = {}
  ids.forEach(key => {
    obj[key] = collectAll(key, data)
  })
  return obj
}

const data = [{"ProgramSubjectGroupAssocId":0,"SubjectSubGroupId":3,"SubjectId":4,"SubjectSrcId":null,"ProgramSubjectGroupAssoc":null,"Subject":{"SubjectSrcId":"4","SubjectName":"Literature","AlternateIdentifier":"4.0","IsActive":true,"ProgrammeId":0,"SubjectGroupId":null,"SubjectSubGroupId":null,"TranslatedName":null,"TranslatedShortCode":null,"LanguageCode":null,"SubjectGroup":null,"SubjectSubGroup":null,"SubjectCurriculum":[{"VersionNumber":3,"VersionStartDate":"2021-03-01T00:00:00+00:00","VersionEndDate":"2036-12-01T00:00:00+00:00","FirstTeachingDate":"2023-06-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2024-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":0,"GradingSystemId":123,"SubjectId":4,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[{"AlternateCourseId":3,"SubjectCurriculumId":383,"SubjectLevelId":50,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":543,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":512,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":543,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},{"AlternateCourseId":1,"SubjectCurriculumId":383,"SubjectLevelId":51,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":544,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":513,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":544,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":383,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:57.087+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-03T09:59:56+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"}],"SubjectOption":[],"Id":4,"CreatedBy":1,"CreatedDate":"2020-02-13T08:46:03.37+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"SubjectSubGroup":{"SubGroupSrcId":"3","ProgrammeId":0,"SubGroupNumber":1,"SubGroupName":"Languages","TranslatedName":null,"IsActive":true,"TranslatedShortCode":null,"LanguageCode":null,"AlternateIdentifier":1,"SubjectGroupId":3,"SubjectGroup":null,"Subject":null,"GroupSubGroupSubjectAssoc":[{"ProgramSubjectGroupAssocId":0,"SubjectSubGroupId":3,"SubjectId":4,"SubjectSrcId":null,"ProgramSubjectGroupAssoc":null,"Subject":{"SubjectSrcId":"4","SubjectName":"Literature","AlternateIdentifier":"4.0","IsActive":true,"ProgrammeId":0,"SubjectGroupId":null,"SubjectSubGroupId":null,"TranslatedName":null,"TranslatedShortCode":null,"LanguageCode":null,"SubjectGroup":null,"SubjectSubGroup":null,"SubjectCurriculum":[{"VersionNumber":3,"VersionStartDate":"2021-03-01T00:00:00+00:00","VersionEndDate":"2036-12-01T00:00:00+00:00","FirstTeachingDate":"2023-06-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2024-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":0,"GradingSystemId":123,"SubjectId":4,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[{"AlternateCourseId":3,"SubjectCurriculumId":383,"SubjectLevelId":50,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":543,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":512,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":543,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},{"AlternateCourseId":1,"SubjectCurriculumId":383,"SubjectLevelId":51,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":544,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":513,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":544,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":383,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:57.087+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-03T09:59:56+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"}],"SubjectOption":[],"Id":4,"CreatedBy":1,"CreatedDate":"2020-02-13T08:46:03.37+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"Id":6,"CreatedBy":12345,"CreatedDate":"2020-02-18T09:43:56.823+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":3,"CreatedBy":1,"CreatedDate":"2020-02-13T08:53:21.85+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"Id":6,"CreatedBy":12345,"CreatedDate":"2020-02-18T09:43:56.823+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},{"ProgramSubjectGroupAssocId":0,"SubjectSubGroupId":58,"SubjectId":153,"SubjectSrcId":null,"ProgramSubjectGroupAssoc":null,"Subject":{"SubjectSrcId":"21","SubjectName":"Bio 14","AlternateIdentifier":"8.0","IsActive":true,"ProgrammeId":0,"SubjectGroupId":null,"SubjectSubGroupId":null,"TranslatedName":null,"TranslatedShortCode":null,"LanguageCode":null,"SubjectGroup":null,"SubjectSubGroup":null,"SubjectCurriculum":[{"VersionNumber":7,"VersionStartDate":"2020-09-01T00:00:00+00:00","VersionEndDate":"2036-09-01T00:00:00+00:00","FirstTeachingDate":"2023-02-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2021-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":1,"GradingSystemId":123,"SubjectId":153,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":357,"CreatedBy":1,"CreatedDate":"2020-03-02T12:23:58.38+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-02T12:23:57+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"},{"VersionNumber":9,"VersionStartDate":"2020-09-01T00:00:00+00:00","VersionEndDate":"2036-09-01T00:00:00+00:00","FirstTeachingDate":"2023-02-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2021-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":0,"GradingSystemId":123,"SubjectId":153,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[{"AlternateCourseId":3,"SubjectCurriculumId":359,"SubjectLevelId":50,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":506,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":464,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":506,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":359,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32.96+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-02T12:25:32+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"}],"SubjectOption":[],"Id":153,"CreatedBy":1,"CreatedDate":"2020-02-25T10:43:32.79+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"SubjectSubGroup":{"SubGroupSrcId":"44","ProgrammeId":0,"SubGroupNumber":9,"SubGroupName":"Languageandarts12","TranslatedName":null,"IsActive":true,"TranslatedShortCode":null,"LanguageCode":null,"AlternateIdentifier":9,"SubjectGroupId":79,"SubjectGroup":null,"Subject":null,"GroupSubGroupSubjectAssoc":[{"ProgramSubjectGroupAssocId":0,"SubjectSubGroupId":58,"SubjectId":153,"SubjectSrcId":null,"ProgramSubjectGroupAssoc":null,"Subject":{"SubjectSrcId":"21","SubjectName":"Bio 14","AlternateIdentifier":"8.0","IsActive":true,"ProgrammeId":0,"SubjectGroupId":null,"SubjectSubGroupId":null,"TranslatedName":null,"TranslatedShortCode":null,"LanguageCode":null,"SubjectGroup":null,"SubjectSubGroup":null,"SubjectCurriculum":[{"VersionNumber":7,"VersionStartDate":"2020-09-01T00:00:00+00:00","VersionEndDate":"2036-09-01T00:00:00+00:00","FirstTeachingDate":"2023-02-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2021-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":1,"GradingSystemId":123,"SubjectId":153,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":357,"CreatedBy":1,"CreatedDate":"2020-03-02T12:23:58.38+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-02T12:23:57+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"},{"VersionNumber":9,"VersionStartDate":"2020-09-01T00:00:00+00:00","VersionEndDate":"2036-09-01T00:00:00+00:00","FirstTeachingDate":"2023-02-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2021-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":0,"GradingSystemId":123,"SubjectId":153,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[{"AlternateCourseId":3,"SubjectCurriculumId":359,"SubjectLevelId":50,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":506,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":464,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":506,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":359,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32.96+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-02T12:25:32+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"}],"SubjectOption":[],"Id":153,"CreatedBy":1,"CreatedDate":"2020-02-25T10:43:32.79+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"Id":32,"CreatedBy":1,"CreatedDate":"2020-02-25T10:52:26.11+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":58,"CreatedBy":1,"CreatedDate":"2020-02-26T16:48:26.443+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"Id":32,"CreatedBy":1,"CreatedDate":"2020-02-25T10:52:26.11+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}]

console.log(findId(["IsActive", "CreatedBy", "CreatedDate"], data))

单循环实现:

function collectAll(keys, object, values = {}) {
  if (object && typeof object === "object") {
    Object.entries(object).forEach(([x, value]) => {
      if (keys.indexOf(x) !== -1) {
        values[x].push({ [x]: value });
      } else {
        collectAll(keys, value, values);
      }
    });
  } 
  return values;
}
function findId(ids, data) {
  let obj = {}
  ids.forEach(key => {
    obj[key] = []
  })
  collectAll(ids, data, obj)
  return obj
}

const data = [{"ProgramSubjectGroupAssocId":0,"SubjectSubGroupId":3,"SubjectId":4,"SubjectSrcId":null,"ProgramSubjectGroupAssoc":null,"Subject":{"SubjectSrcId":"4","SubjectName":"Literature","AlternateIdentifier":"4.0","IsActive":true,"ProgrammeId":0,"SubjectGroupId":null,"SubjectSubGroupId":null,"TranslatedName":null,"TranslatedShortCode":null,"LanguageCode":null,"SubjectGroup":null,"SubjectSubGroup":null,"SubjectCurriculum":[{"VersionNumber":3,"VersionStartDate":"2021-03-01T00:00:00+00:00","VersionEndDate":"2036-12-01T00:00:00+00:00","FirstTeachingDate":"2023-06-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2024-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":0,"GradingSystemId":123,"SubjectId":4,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[{"AlternateCourseId":3,"SubjectCurriculumId":383,"SubjectLevelId":50,"SubjectOptionId":null,"IsActive":false,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":543,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":512,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":543,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},{"AlternateCourseId":1,"SubjectCurriculumId":383,"SubjectLevelId":51,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":544,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":513,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":544,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":383,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:57.087+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-03T09:59:56+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"}],"SubjectOption":[],"Id":4,"CreatedBy":1,"CreatedDate":"2020-02-13T08:46:03.37+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"SubjectSubGroup":{"SubGroupSrcId":"3","ProgrammeId":0,"SubGroupNumber":1,"SubGroupName":"Languages","TranslatedName":null,"IsActive":true,"TranslatedShortCode":null,"LanguageCode":null,"AlternateIdentifier":1,"SubjectGroupId":3,"SubjectGroup":null,"Subject":null,"GroupSubGroupSubjectAssoc":[{"ProgramSubjectGroupAssocId":0,"SubjectSubGroupId":3,"SubjectId":4,"SubjectSrcId":null,"ProgramSubjectGroupAssoc":null,"Subject":{"SubjectSrcId":"4","SubjectName":"Literature","AlternateIdentifier":"4.0","IsActive":true,"ProgrammeId":0,"SubjectGroupId":null,"SubjectSubGroupId":null,"TranslatedName":null,"TranslatedShortCode":null,"LanguageCode":null,"SubjectGroup":null,"SubjectSubGroup":null,"SubjectCurriculum":[{"VersionNumber":3,"VersionStartDate":"2021-03-01T00:00:00+00:00","VersionEndDate":"2036-12-01T00:00:00+00:00","FirstTeachingDate":"2023-06-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2024-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":0,"GradingSystemId":123,"SubjectId":4,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[{"AlternateCourseId":3,"SubjectCurriculumId":383,"SubjectLevelId":50,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":543,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":512,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":543,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},{"AlternateCourseId":1,"SubjectCurriculumId":383,"SubjectLevelId":51,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":544,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":513,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":544,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:56+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":383,"CreatedBy":1,"CreatedDate":"2020-03-03T09:59:57.087+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-03T09:59:56+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"}],"SubjectOption":[],"Id":4,"CreatedBy":1,"CreatedDate":"2020-02-13T08:46:03.37+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"Id":6,"CreatedBy":12345,"CreatedDate":"2020-02-18T09:43:56.823+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":3,"CreatedBy":1,"CreatedDate":"2020-02-13T08:53:21.85+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"Id":6,"CreatedBy":12345,"CreatedDate":"2020-02-18T09:43:56.823+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},{"ProgramSubjectGroupAssocId":0,"SubjectSubGroupId":58,"SubjectId":153,"SubjectSrcId":null,"ProgramSubjectGroupAssoc":null,"Subject":{"SubjectSrcId":"21","SubjectName":"Bio 14","AlternateIdentifier":"8.0","IsActive":true,"ProgrammeId":0,"SubjectGroupId":null,"SubjectSubGroupId":null,"TranslatedName":null,"TranslatedShortCode":null,"LanguageCode":null,"SubjectGroup":null,"SubjectSubGroup":null,"SubjectCurriculum":[{"VersionNumber":7,"VersionStartDate":"2020-09-01T00:00:00+00:00","VersionEndDate":"2036-09-01T00:00:00+00:00","FirstTeachingDate":"2023-02-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2021-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":1,"GradingSystemId":123,"SubjectId":153,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":357,"CreatedBy":1,"CreatedDate":"2020-03-02T12:23:58.38+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-02T12:23:57+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"},{"VersionNumber":9,"VersionStartDate":"2020-09-01T00:00:00+00:00","VersionEndDate":"2036-09-01T00:00:00+00:00","FirstTeachingDate":"2023-02-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2021-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":0,"GradingSystemId":123,"SubjectId":153,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[{"AlternateCourseId":3,"SubjectCurriculumId":359,"SubjectLevelId":50,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":506,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":464,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":506,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":359,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32.96+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-02T12:25:32+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"}],"SubjectOption":[],"Id":153,"CreatedBy":1,"CreatedDate":"2020-02-25T10:43:32.79+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"SubjectSubGroup":{"SubGroupSrcId":"44","ProgrammeId":0,"SubGroupNumber":9,"SubGroupName":"Languageandarts12","TranslatedName":null,"IsActive":true,"TranslatedShortCode":null,"LanguageCode":null,"AlternateIdentifier":9,"SubjectGroupId":79,"SubjectGroup":null,"Subject":null,"GroupSubGroupSubjectAssoc":[{"ProgramSubjectGroupAssocId":0,"SubjectSubGroupId":58,"SubjectId":153,"SubjectSrcId":null,"ProgramSubjectGroupAssoc":null,"Subject":{"SubjectSrcId":"21","SubjectName":"Bio 14","AlternateIdentifier":"8.0","IsActive":true,"ProgrammeId":0,"SubjectGroupId":null,"SubjectSubGroupId":null,"TranslatedName":null,"TranslatedShortCode":null,"LanguageCode":null,"SubjectGroup":null,"SubjectSubGroup":null,"SubjectCurriculum":[{"VersionNumber":7,"VersionStartDate":"2020-09-01T00:00:00+00:00","VersionEndDate":"2036-09-01T00:00:00+00:00","FirstTeachingDate":"2023-02-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2021-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":1,"GradingSystemId":123,"SubjectId":153,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":357,"CreatedBy":1,"CreatedDate":"2020-03-02T12:23:58.38+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-02T12:23:57+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"},{"VersionNumber":9,"VersionStartDate":"2020-09-01T00:00:00+00:00","VersionEndDate":"2036-09-01T00:00:00+00:00","FirstTeachingDate":"2023-02-01T00:00:00+00:00","FirstAssessmentDate":"2023-06-01T00:00:00+00:00","LastAssessmentDate":"2021-06-01T00:00:00+00:00","GradePredicted":true,"CurriculumTypeId":0,"GradingSystemId":123,"SubjectId":153,"ProgrammeId":0,"SubjectGroupId":0,"SubjectSubGroupId":null,"GradingSystem":null,"Course":[{"AlternateCourseId":3,"SubjectCurriculumId":359,"SubjectLevelId":50,"SubjectOptionId":null,"IsActive":true,"SubjectLevel":null,"SubjectOption":null,"CourseComponentAssoc":[],"CourseResponseLanguageAssoc":[{"CourseId":506,"IblanguageId":1,"Iblanguage":{"LanguageCode":"en-GB","LanguageCode2":"1","LanguageName":"English","IsActive":true,"IblanguageTypeAssoc":[],"Id":1,"CreatedBy":1,"CreatedDate":"2019-10-14T00:00:00+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"languageName":null,"Id":464,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":506,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"CourseTypeId":0,"CourseName":null,"GradingName":null,"Id":359,"CreatedBy":1,"CreatedDate":"2020-03-02T12:25:32.96+00:00","UpdatedBy":1,"UpdatedDate":"2020-03-02T12:25:32+00:00","UpdatedByName":"User, 01","CreatedByName":"User, 01"}],"SubjectOption":[],"Id":153,"CreatedBy":1,"CreatedDate":"2020-02-25T10:43:32.79+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"Id":32,"CreatedBy":1,"CreatedDate":"2020-02-25T10:52:26.11+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}],"Id":58,"CreatedBy":1,"CreatedDate":"2020-02-26T16:48:26.443+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"},"Id":32,"CreatedBy":1,"CreatedDate":"2020-02-25T10:52:26.11+00:00","UpdatedBy":null,"UpdatedDate":null,"UpdatedByName":null,"CreatedByName":"User, 01"}]
const result = findId(["IsActive", "CreatedBy", "CreatedDate"], data)
console.log(result)

关于JavaScript 对对象数组进行递归搜索,并获取新的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61443226/

相关文章:

Javascript - 将数组 1 中的子字符串与数组 2 中的字符串进行比较 > 如果存在多个实例,则丢弃

javascript - 如何选择仅具有特定属性的元素?

javascript - 如何优化循环以插入数据库?

javascript - WordPress 的 wp_enqueue_script 问题

javascript减少在数组数组中找到最大值

c# - 是否可以用 Linq 替换这个 foreach 循环?

php - 从 foreach 循环中输出变体时出现问题

javascript - 对于具有空值的数组,是否有类似 .every() 的方法?

javascript - javascript中的逻辑与两个 bool 数组?

javascript - 使用 map 创建 HTML ReactJS