[英]Push item onto array on condition in one line
我想要這樣的東西,我想知道這在 JavaScript 中是否可行,或者我必須寫一個 if 語句
// these versions adds fasle to the array if condition = false let arr = await getArray(params).push(condition && itemToAdd); arr = await getArray(params).push((() => condition && itemToAdd)()); // this version adds undefined to the array if condition = false arr = await getArray(params).push((() => { if (condition) return itemToAdd })());
(我包含 getArray 部分的原因是因為這就是它在我的代碼中的樣子,我實際上並沒有將此數組保存到 var arr
中,只是它立即返回到它的調用 function,所以這就是我不想為 if 語句添加一行...)
不知道為什么要在一行中完成,但這可以工作
let arr = [...await getArray(), itemToAdd].slice(0, condition? undefined: -1);
在這里,無論條件如何,我們都將itemToAdd
推送到數組中,但如果條件為假,我們將刪除最后一個元素 ( itemToAdd
)。
如果您正在使用 reactjs 那么您可以使用 useState 作為條件
const [isCondition, setisCondition] = useState(false);
//但是你需要 if/else 來改變 useState
if(this_happens) {
設置條件(真)}否則{設置條件(假)}
//你可以這樣做
let arr = await getArray(params).push(isCondition && itemToAdd);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.