[英]How to select value in dropdown based on objects property value - select and angular
[英]How to select property based on value?
考慮以下對象,
const {
dev,
qa,
staging,
prod,
customEnv,
} = argv;
值是未定義或布爾值的地方。
我想通過做這樣的事情來選擇環境。
const env =
customEnvironment ||
dev ||
qa ||
staging ||
prod;
(如果prod為true,則env應該為'prod')
一種方法是使用所有變量作為對象中的鍵值對,然后找到第一個真值並訪問它的鍵
let customEnvironment = false, dev = true, qa = false, staging = false, prod = false let tempObj = {customEnvironment, dev, qa, staging, prod} let op = Object.entries(tempObj).find(([,value])=>value)[0] console.log(op)
如果您需要查找按照特定順序設置的第一個屬性,那么您實際上應該使用這些屬性名稱組成的數組,如下所示:
const argv = { staging: "2.1", prod: "2.1" }; const env = ["customEnvironment", "dev", "qa", "staging", "prod"].find(key => argv[key]); console.log(env);
您可以使用循環:
let env;
const props = ["customEnvironment", "dev", "qa", "staging", "prod"];
for (let i = 0; i < props.length; i++) {
if (argv[props[i]]) {
env = props[i];
break;
}
}
如果不對屬性數組進行硬編碼,我想不出一個好方法,因為您需要在某處指定優先級順序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.