javascript - 如何对许多不同的条件和操作进行编程

标签 javascript if-statement

我想遍历对象 address 中的 1 级属性,并在循环中使用 if 语句测试特定于该属性的各种条件和操作。因此,我添加了 2 级 conditionaction 属性,试图降低 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;
  }
}

最佳答案

您需要在这些条件和操作中使用实际的 JavaScript

  first: {
    value: "Joe",
    condition: function () { return address[key].value.length === 0 },
    action: function () { console.log(key + ' Not street1:' + address[key].value.length) }
  }

我不推荐 eval() 除非你真的需要它。您的示例代码不需要它……但谁知道这里的实际应用程序是什么。如果您确实需要 eval,则必须小心执行的内容及其构建方式。

关于javascript - 如何对许多不同的条件和操作进行编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29465357/

相关文章:

javascript - 动态创建的 anchor 标记上的 Onclick 事件

javascript - Heroku Node.js 应用程序与 buildpack 不兼容

javascript - .map 中的嵌入函数用于访问映射信息

ios - 在 Objective-C 上使用 Enum 和 Switch

if-statement - Java8 : Implement multiple conditional statements with stream API

c++ - 如果发生错误则返回错误值,否则继续执行函数

用于检查 SetUID 的 Linux 脚本

javascript - 将额外参数传递给 WebSQL 回调函数?

javascript - slider 在移动设备上显示不佳

javascript - jQuery 当前位置和滚动位置之间的区别