返回带有筛选结果的新JSON对象

时间:2015-03-18 12:21:20

标签: javascript json object filter

我想在过滤一些结果之后从现有的JS对象返回一个新的JS对象。

说我有以下JS对象:

{ "Examples" : 
  [ { "id": 1, "name": "Tim", "answer": "yes"},
    { "id": 2, "name": "Jon", "answer": "no"},
    { "id": 3, "name": "Don", "answer": "yes" ] }

我希望通过此对象筛选所有“是”答案并返回如下所示的对象:

{ "Examples" :
  [ { "id" : 1, "name": "Tim", "answer": "yes"},
    { "id" : 3, "name": "Don", "answer": "yes"} ] }

1 个答案:

答案 0 :(得分:3)

首先:这是一个JavaScript对象,而不是JSON对象。 JSON是一个序列化方案。

您可以使用.filter()过滤数组:

var obj = { "Examples" : 
[ { "id": 1, "name": "Tim", "answer": "yes"},
  { "id": 2, "name": "Jon", "answer": "no"},
  { "id": 3, "name": "Don", "answer": "yes" ] };

obj.Examples = obj.Examples.filter(function(entry) {
  return entry.answer === "yes";
});