0

2 つの json ドキュメントから一致するデータを見つける方法。例: 2 つの json ドキュメントとスキル json ドキュメントがあります。

スキル ドキュメント:

{

     "_id": "b013dcf12d1f7d333467b1447a00013a",
     "_rev": "3-e54ad6a14046f809e6da872294939f12",
     "core_skills": [
          {
              "core_skill_code": "SA1",
              "core_skill_desc": "communicate with others in writing"
          },
          {
              "core_skill_code": "SA2",
              "core_skill_desc": "complete accurate well written work with attention to detail"
          },
          {
              "core_skill_code": "SA3",
              "core_skill_desc": "follow guidelines/procedures/rules and service level agreements"
          },
          {
              "core_skill_code": "SA4",
              "core_skill_desc": "ask for clarification and advice from others"
          }
      ]}

従業員ドキュメント:

{

  "_id": "b013dcf12d1f7d333467b12350007op",
  "_rev": "3-e54ad6a14046f809e6da156794939f12",
  "employee_name" :"Ashwin",
  "employee_role" : "Software engineer",
  "core_skills":["SA1","SA4"]
}
4

1 に答える 1

0

あなたが何をしたいのかわかりませんが、以下が役立つかもしれません。最初のデータ セットがスキルとその説明のリストであり、2 番目のデータ セットが従業員レコードであると仮定すると、適切な名前の変数への割り当ては次のようになります。

var skillCodes = {
  "_id": "b013dcf12d1f7d333467b1447a00013a",
  "_rev": "3-e54ad6a14046f809e6da872294939f12",
  "core_skills": [{
      "core_skill_code": "SA1",
      "core_skill_desc": "communicate with others in writing"
    },{
      "core_skill_code": "SA2",
      "core_skill_desc": "complete accurate well written work with attention to detail"
    },{
      "core_skill_code": "SA3",
      "core_skill_desc": "follow guidelines/procedures/rules and service level agreements"
    },{
      "core_skill_code": "SA4",
      "core_skill_desc": "ask for clarification and advice from others"
    }
  ]};

var employee0 = {
  "_id": "b013dcf12d1f7d333467b12350007op",
  "_rev": "3-e54ad6a14046f809e6da156794939f12",
  "employee_name" :"Ashwin",
  "employee_role" : "Software engineer",
  "core_skills":["SA1","SA4"]
};

スキル インデックスを作成すると、特定のスキルを簡単に探すことができます。そのためのコードは次のとおりです。

var skillCodeIndex = {};
skillCodes.core_skills.forEach(function(item){
  skillCodeIndex[item.core_skill_code] = item.core_skill_desc;
});

必要なのは、特定の従業員のスキルを取得する関数だけです。たとえば、次のようにします。

function getCoreSkills (employee) {
  console.log('Employee ' + employee.employee_name + ' has the following core skills:');
  employee.core_skills.forEach(function(skill) {
    console.log(skill + ': ' + skillCodeIndex[skill]);
  });
}

例:

getCoreSkills(employee0);

Employee Ashwin has the following core skills:
SA1: communicate with others in writing
SA4: ask for clarification and advice from others

上記は、スキルコード従業員インスタンスのコンストラクターを考えると、はるかにオブジェクト指向になる可能性があります。それはあなたに任せます。

于 2014-10-17T22:45:33.957 に答える