3 回答
TA贡献1843条经验 获得超7个赞
拥有动态方式的一个想法是拥有一个包含变量的对象:
const fruits = {
apple: true,
pear: false,
coconut: true
};
const activeFruit = Object.keys(fruits).filter(key => !!fruits[key]);
console.log(activeFruit)
TA贡献1826条经验 获得超6个赞
不确定这是更聪明还是最聪明,但这是一种不同的方法
您可以将所有水果包装到一个对象中,将该对象转换为Object.entries()键值对filter(true使用map
const apple = true
const pear = false
const coconut = true
const obj = {
apple,
pear,
coconut
}
const activeFruits = Object.entries(obj)
.filter(([_, value]) => value === true)
.map(([key, _]) => key)
console.log(activeFruits)
TA贡献1818条经验 获得超7个赞
为了回答你的问题,我会这样做:
if (apple) {
activeFruits.push('apple');
}
if (pear) {
activeFruits.push('pear');
}
if (coconut) {
activeFruits.push('coconut');
}
但是,我会质疑您拥有的初始数据结构,并(如果可能)将其更改为:
const fruits = {
apple: true,
pear: false,
coconut: true
};
然后得到这样的答案:
const activeFruits = Object.keys(fruits).filter(key => !!fruits[key]);
添加回答
举报