考虑以下对象,
const {
dev,
qa,
staging,
prod,
customEnv,
} = argv;
未定义值或布尔值的地方。
我想通过这样的操作来选择环境;
const env =
customEnvironment ||
dev ||
qa ||
staging ||
prod;
(如果prod为true,则env应该为'prod')
答案 0 :(得分:1)
一种方法是在对象中使用所有变量作为键值对,然后找到第一个真值并访问它的键
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)
答案 1 :(得分:0)
如果您需要查找按照特定 order 设置的第一个属性,那么您实际上应该使用这些属性名称的数组,如下所示:
const argv = { staging: "2.1", prod: "2.1" };
const env = ["customEnvironment", "dev", "qa", "staging", "prod"].find(key => argv[key]);
console.log(env);
答案 2 :(得分:0)
您可以使用循环:
keras.sequence
如果不对属性数组进行硬编码,我想不出一个好方法,因为您需要在某处指定优先级顺序。