javascript - 从 javascript 中的 json 对象中过滤 bool 值

标签 javascript json object

我想从 javascript 中的 json 对象中过滤所有 bool 值。我设法让它在一个简单的 json 对象上工作,但就我而言,我有一个嵌套的对象。这是该对象的示例。我不知道如何管理这个结构。

{  
    "User1":
     {  
      "age":15,
      "country":"sw",
      "glasses":true,
      "car":true,
      "zip":1223,
      "name":"Frank"
    },
    "User2":
     {  
      "age":23,
      "country":"fr",
      "glasses":false,
      "car":true,
      "zip":5577,
      "name":"Mike"
    }
}

因此我希望收到这样的东西:

{  
   "User1":{  
      "glasses":true,
      "car":true
   },
   "User2":{  
      "glasses":false,
      "car":true
   }
}

最佳答案

 const result = {};

 for(const [key, value] of Object.entries(input)) {
   const {glasses, car} = value;
   result[key] = {glasses, car};
}

只需迭代对象条目并对内部对象进行一些解构。或者,如果您确实想要每个 bool 值:

 const result = {};

 for(const [key, value] of Object.entries(input)) {
   const out = result[key] = {};
   for(const [innerKey, innerValue] of Object.entries(value)) {
     if(typeof innerValue === "boolean")
       out[innerKey] = innerValue;
   }
 }

关于javascript - 从 javascript 中的 json 对象中过滤 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51217008/

相关文章:

javascript - 如何从另一台服务器获取文件?

java - 如何在某个类中使用另一个类的方法?

javascript - 通过指令范围传递对象不起作用

javascript - 我无法插入内容 HTML 预标记

javascript - 在页面加载时运行 ajax 函数

mysql - 当使用 AJAX 以 JSON 格式从 MySQL 获取 2000 行时,TTFB 花费的时间太长

c++ - 将我的对象声明为 'extern' 会出现 "storage class specified"错误

javascript - 在 Javascript 文件中定义和调用 Wscript 函数以在 Windows 脚本宿主中运行

javascript - lodash:比较两个对象

python - 从文本文件访问字段