SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何



我试图构建一个多OR变量,但似乎无法使其工作。我的语法或逻辑不好吗?

var category = i.Category == "Electric" ? "E" || i.Category == "Power Module" ? "PM" || i.Category == "Branch Office" ? "BO" : "";

根据我所能研究的||是OR指标和?表示上一个语句的结果,其中:"是如果两者都不是则会发生的情况。不幸的是,这不起作用。有什么想法吗?

三元运算符本身是好的。。。(有瓦迪姆建议的更正)但它看起来非常复杂。在这种情况下,我更喜欢这样的切换语句:

function whatsMyCategory(i) {
  var category = (i.Category == "Electric" ? "E" : i.Category == "Power Module" ? "PM" : i.Category == "Branch Office" ? "BO" : "");
  console.log("Category=" + category);
  var cat = "";
  switch (i.Category) {
    case "Electric":
      cat = "E";
      break;
    case "Power Module":
      cat = "PM"
      break;
    case "Branch Office":
      cat = "BO"
      break;
    default:
      cat = "";
  }
  console.log("Cat=" + cat);
}
whatsMyCategory({
  "Category": "Electric"
});
whatsMyCategory({
  "Category": "Power Module"
});
whatsMyCategory({
  "Category": "Branch Office"
});
whatsMyCategory({
  "Category": "Something different"
});

您可以使用ternary operator:构建这样的表达式

var category = i.Category == "Electric" ? "E" : i.Category == "Power Module" ? "PM" : i.Category == "Branch Office" ? "BO" : "";

或通过提取类别词的第一个字母动态,例如:

var category = i.Category.split(' ').map(function(item){return item[0]}).join('');

最新更新