按键和值加入2个数组(AngularJS)

时间:2017-03-02 16:19:46

标签: angularjs

我有2个对象

{
  "_id": "58b7f36b3354c24630f6f3b0",
  "name": "refcode",
  "caption": "Reference",
  "type": "string",
  "search": false,
  "required": false,
  "table": true,
  "expansion": true
},

{
  "_id": "58b7f36b3354c24630f6f3c8",
  "vacancyid": "0",
  "refcode": "THIS IS MY REF",
  "position": "Test",
  "jobtype": "Temp",
  "department": "Industrial",
  "branch": "Office",
  "startdate": "02/12/2013",
  "contactname": "Person Name",
  "contactemail": "person@domain",
  "Q_V_TYP": "Daily",
  "score": 0
},

对象1定义字段应该是什么以及它叫什么

第二个对象是职位描述。

我需要的是将一个字段与每个键匹配(这甚至让我感到困惑,所以这是一个例子)

{
  "_id": "58b7f36b3354c24630f6f3c8",
  "vacancyid": "0",
  "refcode": {
    "_id": "58b7f36b3354c24630f6f3b0",
    "name": "refcode",
    "caption": "Reference",
    "type": "string",
    "search": false,
    "required": false,
    "table": true,
    "expansion": true,
    "value": "THIS IS MY REF"
    }
  },      
  "position": "Test",
  "jobtype": "Temp",
  "department": "Industrial",
  "branch": "Office",
  "startdate": "02/12/2013",
  "contactname": "Person Name",
  "contactemail": "person@domain",
  "Q_V_TYP": "Daily",
  "score": 0
},

1 个答案:

答案 0 :(得分:1)

你走了:



var def = {
  "_id": "58b7f36b3354c24630f6f3b0",
  "name": "refcode",
  "caption": "Reference",
  "type": "string",
  "search": false,
  "required": false,
  "table": true,
  "expansion": true
};

var jobDesc = {
  "_id": "58b7f36b3354c24630f6f3c8",
  "vacancyid": "0",
  "refcode": "THIS IS MY REF",
  "position": "Test",
  "jobtype": "Temp",
  "department": "Industrial",
  "branch": "Office",
  "startdate": "02/12/2013",
  "contactname": "Person Name",
  "contactemail": "person@domain",
  "Q_V_TYP": "Daily",
  "score": 0
};

var jobDescKeysArr = Object.keys(jobDesc);

if (jobDescKeysArr.indexOf(def.name) !== -1) {
  // A match.
  def.value = jobDesc[def.name];

  jobDesc[def.name] = Object.assign({}, def);

  console.log(jobDesc)
}