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]);
添加回答
舉報