Javascript 如果为true,则返回对象中的键列表
我想在React中创建自己的脚本,如果对象的键为true,则添加类名。 现在我在循环中使用for..in,但是我只得到了我的一个真语句Javascript 如果为true,则返回对象中的键列表,javascript,reactjs,Javascript,Reactjs,我想在React中创建自己的脚本,如果对象的键为true,则添加类名。 现在我在循环中使用for..in,但是我只得到了我的一个真语句 let btnClass = this._classNames({ 'btn': true, 'active': true, }); _classNames(value) { let classy; for (var i
let btnClass = this._classNames({
'btn': true,
'active': true,
});
_classNames(value) {
let classy;
for (var i in value) {
if (value[i] === true) {
classy = i;
}
}
return classy;
}
}
如何返回全部正确的密钥列表?这里也适用于这些场景,首先使用Object.keys()
创建所有键的数组
,然后使用该数组过滤掉键
这样写:
_classNames(value) {
return Object.keys(value).filter(el => value[el])
}
检查工作代码段:
函数\u类名(值){
返回Object.keys(value).filter(el=>value[el])
}
var obj={a:true,b:false,c:true,d:false,f:true};
log(_classNames(obj))代码>根据CodePen演示,您可能希望返回一个字符串,其中包含由空格分隔的值为true的对象键。试试这个:
_classNames(value) {
let classy = [];
for (var i in value) {
if (value[i] === true) {
classy.push(i);
}
}
return classy.split(" ");
}
}
棒 极 了!谢谢!你让我开心!很高兴,这有帮助:)