我有一个像这样的对象:
var packages = { SoftwareColumn: false, BatchNumberColumn : false, MatrixId : 1, CommentsColumn : true, PartNumber : "Abc123" }
上面的对象更大,但是对于这个问题,我已经缩小了范围。我要实现的目标是遍历它,并获取所有值为
true
的键/值。我试过了if (packages.length > 0) {
Object.keys(packages).forEach(function (key) {
//here I can't figure out how to get values which are only true and get their key
});
}
最佳答案
您可以使用reduce()
而不是forEach()
循环并返回obj。要仅返回true
值,您可以使用标识/严格等于===
运算符。
var packages = {
SoftwareColumn: false,
BatchNumberColumn: false,
MatrixId: 1,
CommentsColumn: true,
PartNumber: 'Abc123'
}
var newObj = Object.keys(packages).reduce(function(r, e) {
if(packages[e] === true) r[e] = packages[e]
return r;
}, {})
console.log(newObj)
关于javascript - 从对象获取 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44179005/