Unc*_*lug 2 javascript if-statement
我想循环遍历对象中的1级属性,address
并使用循环内的if语句测试特定于该属性的各种条件和操作.所以,我添加了2级condition
和action
属性,试图降低if语句的复杂性.下面的代码代表我正在尝试做的事情并且不起作用.不知道如何做到这一点.
var address = {
first: {
value: "Joe",
condition: "address[key].value.length === 0",
action: "console.log(key + ' Not street1:' + address[key].value.length)"
},
last: {
value: "Dirt",
condition: "address[key].value.length === 0",
action: "console.log(key + ' Not street1:' + address[key].value.length)"
},
street1: {
value: "123 Blah Street",
condition: "key === 'street1' && address[key].value.length === 0",
action: "console.log(key + ' This is street1')"
},
};
for (var key in address) {
var condition = address[key].condition;
var action = address[key].action;
if (condition) {
return action;
}
}
Run Code Online (Sandbox Code Playgroud)
您将希望在这些条件和操作中使用实际的JavaScript
first: {
value: "Joe",
condition: function () { return address[key].value.length === 0 },
action: function () { console.log(key + ' Not street1:' + address[key].value.length) }
}
Run Code Online (Sandbox Code Playgroud)
eval()
除非你确实需要它,否则我不建议.您的示例代码不需要它......但是谁知道这里的实际应用是什么.如果你真的需要eval,你必须小心你正在执行什么以及它是如何构建的.
归档时间: |
|
查看次数: |
42 次 |
最近记录: |