返回具有过滤结果的新 JSON 对象

Returning a new JSON object with filtered results

我正在寻找 return 从现有 JS 对象过滤某些结果后的新 JS 对象。

假设我有以下 JS 对象:

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

我想通过这个对象过滤所有是的答案和return一个看起来像这样的对象:

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

首先:这是一个 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";
});