将json元素和值添加到多个json对象

时间:2018-01-17 21:41:39

标签: javascript json

我希望将JSON对象与ARRAY结合使用。 我想从var产品上找到的密钥中检索数据,并将得分结合到一个新变量(合并结果)

综合结果是我所需要的。我绝对不知道该怎么做



var product = {
    "presentation": 3,
    "imgmax": http://test.com/img.jpg,
    "puissance": 5,
    "efficacite": 4,
    "description": "This product is awesome but i need to combine JSON results"
}

var array = [
  {
  "caracname": "presentation",
  "name": "Présentation"
  },
  {
  "caracname": "efficacite",
  "name": "Efficacité"
  },
  {
  "caracnam": "puissance",
  "name": "Puissance"
  }
]




var combinedresults = [
    {
    "caracname": "presentation",
    "name": "Présentation",
    "score": 3
    },
    {
    "caracname": "efficacite",
    "name": "Efficacité",
    "score": 4
    },
    {
    "caracnam": "puissance",
    "name": "Puissance",
    "score": 5
    }
  ]




2 个答案:

答案 0 :(得分:0)

只需映射当前数组,使用score属性扩展每个对象。

array.map(obj => ({...obj, score: product[obj.caracname]}));

如果您不熟悉,请考虑查看spread operator;

答案 1 :(得分:0)

遍历数组中的每个项目,如果产品对象包含与当前项目caracname匹配的键,则将其值作为分数添加。

见下文:

/users/{user_id}/blog_posts/{post_id}