我有开关,它看起来很长:
switch (+f.level) {
case 10:
this.region = f
break
case 20:
this.aregion = f
break
case 30:
this.district = f
break
case 40:
this.city = f
break
case 50:
this.intraCityTerritoryn = f
break
}
Run Code Online (Sandbox Code Playgroud)
我试图修改它:
public directory = {
{10: this.region},
{20: this.aregion},
{30: this.district},
{40: this.city}
};
Run Code Online (Sandbox Code Playgroud)
然后我尝试通过 key 获取 varaible 并分配f。
您可以使用具有f.level(数字值)和预期对象属性的键值对的查找对象
const lookup = {
10: "region",
20: "aregion",
30: "district",
40: "city",
50: "intraCityTerritoryn",
}
this[lookup[+f.level]] = f
Run Code Online (Sandbox Code Playgroud)
对于default等价情况(因为this[undefined] = f仍然是有效的赋值表达式)
if (lookup[+f.level] !== undefined) {
this[lookup[+f.level]] = f
} else {
// ...
}
Run Code Online (Sandbox Code Playgroud)
object.property
object['property']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |