例如,我有以下对象:
{
"name":"false",
"var_RadiacionGlobalInt":true,
"var_CO2InvVaisala":true,
"var_RadiacionExt":false,
"var_VVExt":false
}
我需要遍历该对象并通过推送将真实的元素添加到新数组中。这是我实现的代码:
public guardar(){
this.checkboxsensores = [];
for (let variable in this.checkbox) {
if (variable === 'true') {
this.checkboxsensores.push(variable);
}
}
}
我需要这样的最终格式:
["var_RadiacionGlobalInt", "var_CO2InvVaisala"]
我无法仅通过字段名称搜索真值,如何按布尔值进行过滤?
一切顺利。
一种选择是使用Object.keys来获取对象的属性,然后使用filter()进行过滤,这将创建一个
array
具有具有值的属性的新对象true
obj[el]===true
Dev. Joel 的回答更好,但是为了让您了解代码中的问题,您必须检查属性的值,而不是属性本身的名称。您更正的代码如下所示: