第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 JavaScript 中比較數(shù)組和嵌套數(shù)組

在 JavaScript 中比較數(shù)組和嵌套數(shù)組

慕村9548890 2023-08-18 16:35:46
我有兩個數(shù)組,一個是accounts,另一個是departments。要求:-> 需要比較兩個數(shù)組并需要獲取過濾后的帳戶數(shù)組。-> 帳戶數(shù)組是單級的,而部門數(shù)組有兩級,我需要比較JobTitleID帳戶和部門中的值。-> 最后返回修改后的賬戶數(shù)組以及過濾后的數(shù)據(jù)。const accounts = [  {    "AccountId": 25205,    "CandidateID": 8474,    "JobTitleID": 250  },  {    "AccountId": 25206,    "CandidateID": 8474,    "JobTitleID": 253  },  {    "AccountId": 25232,    "CandidateID": 8474,    "JobTitleID": 257  },  {    "AccountId": 25233,    "CandidateID": 8474,    "JobTitleID": 261  },  {    "AccountId": 25236,    "CandidateID": 8474,    "JobTitleID": 256  },  {    "AccountId": 25237,    "CandidateID": 8474,    "JobTitleID": 255  },  {    "AccountId": 25245,    "CandidateID": 8474,    "JobTitleID": 281  },  {    "AccountId": 25246,    "CandidateID": 8474,    "JobTitleID": 279  },  {    "AccountId": 25265,    "CandidateID": 8474,    "JobTitleID": 362  }]const departments = [  {    "deptName": "Production",    "jobTitles": [      {        "JobTitleID": 246,        "DepartmentID": 72,        "JobName": "Department Foreman"      },      {        "JobTitleID": 357,        "DepartmentID": 72,        "JobName": "Maintenance Supervisor"      },      {        "JobTitleID": 247,        "DepartmentID": 72,        "JobName": "Production Manager"      },      {        "JobTitleID": 362,        "DepartmentID": 72,        "JobName": "Safety & Compliance Supervisor"      }    ]  },  {    "deptName": "Engineering",    "jobTitles": [      {        "JobTitleID": 250,        "DepartmentID": 73,        "JobName": "Architect"      },      {        "JobTitleID": 248,        "DepartmentID": 73,        "JobName": "CAD Operator"      },      {        "JobTitleID": 249,        "DepartmentID": 73,        "JobName": "Engineering Manager"      },      {        "JobTitleID": 251,        "DepartmentID": 73,        "JobName": "Professional Engineer"      }    ]  },
查看完整描述

2 回答

?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗 獲得超7個贊

您可以創(chuàng)建數(shù)組中所有作業(yè)的數(shù)組departments,然后accounts使用過濾數(shù)組.some(..)來檢查先前生成的數(shù)組中是否存在特定作業(yè)。這是一個例子:

const accounts = [

  {

    "AccountId": 25205,

    "CandidateID": 8474,

    "JobTitleID": 250

  },

  {

    "AccountId": 25206,

    "CandidateID": 8474,

    "JobTitleID": 253

  },

  {

    "AccountId": 25232,

    "CandidateID": 8474,

    "JobTitleID": 257

  },

  {

    "AccountId": 25233,

    "CandidateID": 8474,

    "JobTitleID": 261

  },

  {

    "AccountId": 25236,

    "CandidateID": 8474,

    "JobTitleID": 256

  },

  {

    "AccountId": 25237,

    "CandidateID": 8474,

    "JobTitleID": 255

  },

  {

    "AccountId": 25245,

    "CandidateID": 8474,

    "JobTitleID": 281

  },

  {

    "AccountId": 25246,

    "CandidateID": 8474,

    "JobTitleID": 279

  },

  {

    "AccountId": 25265,

    "CandidateID": 8474,

    "JobTitleID": 362

  }

]





const departments = [

  {

    "deptName": "Production",

    "jobTitles": [

      {

        "JobTitleID": 246,

        "DepartmentID": 72,

        "JobName": "Department Foreman"

      },

      {

        "JobTitleID": 357,

        "DepartmentID": 72,

        "JobName": "Maintenance Supervisor"

      },

      {

        "JobTitleID": 247,

        "DepartmentID": 72,

        "JobName": "Production Manager"

      },

      {

        "JobTitleID": 362,

        "DepartmentID": 72,

        "JobName": "Safety & Compliance Supervisor"

      }

    ]

  },

  {

    "deptName": "Engineering",

    "jobTitles": [

      {

        "JobTitleID": 250,

        "DepartmentID": 73,

        "JobName": "Architect"

      },

      {

        "JobTitleID": 248,

        "DepartmentID": 73,

        "JobName": "CAD Operator"

      },

      {

        "JobTitleID": 249,

        "DepartmentID": 73,

        "JobName": "Engineering Manager"

      },

      {

        "JobTitleID": 251,

        "DepartmentID": 73,

        "JobName": "Professional Engineer"

      }

    ]

  },

  {

    "deptName": "Purchasing",

    "jobTitles": [

      {

        "JobTitleID": 253,

        "DepartmentID": 74,

        "JobName": "Purchasing Agent"

      },

      {

        "JobTitleID": 255,

        "DepartmentID": 74,

        "JobName": "Purchasing Manager"

      },

      {

        "JobTitleID": 252,

        "DepartmentID": 74,

        "JobName": "Yard Foreman"

      }

    ]

  }

]


const jobs = departments.reduce((a, c) => (a.concat(c.jobTitles)), []);

const results = accounts.filter(account => jobs.some(job => job.JobTitleID === account.JobTitleID));


console.log(results);


查看完整回答
反對 回復(fù) 2023-08-18
?
森欄

TA貢獻(xiàn)1810條經(jīng)驗 獲得超5個贊

您可以使用 獲得優(yōu)化解決方案Set object。Set 對象僅存儲任何類型的唯一值。首先,使用數(shù)組中的 set 對象獲取所有唯一的 JobTitleID departments。然后使用Array.prototype.filter()方法對accounts數(shù)組進(jìn)行過濾即可得到結(jié)果。


const accounts = [

  {

    AccountId: 25205,

    CandidateID: 8474,

    JobTitleID: 250,

  },

  {

    AccountId: 25206,

    CandidateID: 8474,

    JobTitleID: 253,

  },

  {

    AccountId: 25232,

    CandidateID: 8474,

    JobTitleID: 257,

  },

  

    AccountId: 25233,

    CandidateID: 8474,

    JobTitleID: 261,

  },

  {

    AccountId: 25236,

    CandidateID: 8474,

    JobTitleID: 256,

  },

  {

    AccountId: 25237,

    CandidateID: 8474,

    JobTitleID: 255,

  },

  {

    AccountId: 25245,

    CandidateID: 8474,

    JobTitleID: 281,

  },

  {

    AccountId: 25246,

    CandidateID: 8474,

    JobTitleID: 279,

  },

  {

    AccountId: 25265,

    CandidateID: 8474,

    JobTitleID: 362,

  },

];


const departments = [

  {

    deptName: 'Production',

    jobTitles: [

      {

        JobTitleID: 246,

        DepartmentID: 72,

        JobName: 'Department Foreman',

      },

      {

        JobTitleID: 357,

        DepartmentID: 72,

        JobName: 'Maintenance Supervisor',

      },

      {

        JobTitleID: 247,

        DepartmentID: 72,

        JobName: 'Production Manager',

      },

      {

        JobTitleID: 362,

        DepartmentID: 72,

        JobName: 'Safety & Compliance Supervisor',

      },

    ],

  },

  {

    deptName: 'Engineering',

    jobTitles: [

      {

        JobTitleID: 250,

        DepartmentID: 73,

        JobName: 'Architect',

      },

      {

        JobTitleID: 248,

        DepartmentID: 73,

        JobName: 'CAD Operator',

      },

      {

        JobTitleID: 249,

        DepartmentID: 73,

        JobName: 'Engineering Manager',

      },

      {

        JobTitleID: 251,

        DepartmentID: 73,

        JobName: 'Professional Engineer',

      },

    ],

  },

  {

    deptName: 'Purchasing',

    jobTitles: [

      {

        JobTitleID: 253,

        DepartmentID: 74,

        JobName: 'Purchasing Agent',

      },

      {

        JobTitleID: 255,

        DepartmentID: 74,

        JobName: 'Purchasing Manager',

      },

      {

        JobTitleID: 252,

        DepartmentID: 74,

        JobName: 'Yard Foreman',

      },

    ],

  },

];


const set = new Set();

departments.forEach((x) => x.jobTitles.forEach((y) => set.add(y.JobTitleID)));

const ret = accounts.filter((x) => set.has(x.JobTitleID));

console.log(ret);



查看完整回答
反對 回復(fù) 2023-08-18
  • 2 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號