我想从 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/