Javascript 如果需要,则将嵌套三元转换为基本

Javascript 如果需要,则将嵌套三元转换为基本,javascript,Javascript,我正在试图理解一段从在线源代码中获取的javascript代码。但是它有完整的?和:符号(三元运算符),除此之外,它还有多个嵌套的三元运算符 下面是代码 function () { var e = this, t = e.$createElement, n = e._self._c || t; return n("v-card", [e.response

我正在试图理解一段从在线源代码中获取的javascript代码。但是它有完整的
符号(三元运算符),除此之外,它还有多个嵌套的三元运算符

下面是代码

function () {
                var e = this,
                    t = e.$createElement,
                    n = e._self._c || t;
                return n("v-card", [e.responseCard.title.trim() ? n("v-card-title", {
                    staticClass: "red lighten-5",
                    attrs: {
                        "primary-title": ""
                    }
                }, [n("span", {
                    staticClass: "headline"
                }, [e._v(e._s(e.responseCard.title))])]) : e._e(), e._v(" "), e.responseCard.subTitle ? n("v-card-text", [n("span", [e._v(e._s(e.responseCard.subTitle))])]) : e._e(), e._v(" "), e.responseCard.imageUrl ? n("v-card-media", {
                    attrs: {
                        src: e.responseCard.imageUrl,
                        contain: "",
                        height: "33vh"
                    }
                }) : e._e(), e._v(" "), e._l(e.responseCard.buttons, (function (t, i) {
                    return n("v-card-actions", {
                        key: i,
                        staticClass: "button-row",
                        attrs: {
                            actions: ""
                        }
                    }, [t.text && t.value ? n("v-btn", {
                        attrs: {
                            disabled: e.hasButtonBeenClicked,
                            default: ""
                        },
                        nativeOn: {
                            "~click": function (n) {
                                e.onButtonClick(t.value)
                            }
                        }
                    }, [e._v("\n      " + e._s(t.text) + "\n    ")]) : e._e()], 1)
                })), e._v(" "), e.responseCard.attachmentLinkUrl ? n("v-card-actions", [n("v-btn", {
                    staticClass: "red lighten-5",
                    attrs: {
                        flat: "",
                        tag: "a",
                        href: e.responseCard.attachmentLinkUrl,
                        target: "_blank"
                    }
                }, [e._v("\n      Open Link\n    ")])], 1) : e._e()], 2)
            }
有人能不能把它转换成一个基本的
if-else
block,很容易阅读/理解,我在网上读到过,但是由于嵌套的东西,我非常困惑,无法理解如何做

大家好,请不要误解我提出这样一个基本问题,我只是因为嵌套的三元运算符而提出这个问题,我无法理解如何分解这个问题:-(


谢谢

我不会为你兑换的

三元运算符是:
返回条件?answer1:answer2

我们可以这样改写:

if (condition)
  return answer1;
else
  return answer2;
if (condition) {
  if (condition2)
    return answer1;
  else
    return answer3;
}
else
  return answer2;
嵌套的条件是:
返回条件?(条件2?应答1:应答3):应答2

我们可以这样改写:

if (condition)
  return answer1;
else
  return answer2;
if (condition) {
  if (condition2)
    return answer1;
  else
    return answer3;
}
else
  return answer2;
等等

范例

var k = e.responseCard.title.trim() ? n("v-card-title", {
    staticClass: "red lighten-5",
    attrs: {
        "primary-title": ""
    }
}, [n("span", {
    staticClass: "headline"
}, [e._v(e._s(e.responseCard.title))])])
: e._e()

// condition is e.responseCard.title.trim()
// answer1 is n("v-card-title", bla bla bla...)
// answer2 is e._e()
if/else
世界中

var k;
if (e.responseCard.title.trim())
  k = n("v-card-title", bla bla bla...);
else
  k = e._e();

如果你想知道更多,有一个关于三元运算符的很好的文档。

首先处理外层,而不是内层如果你检查原始版本而不是模糊版本,你可能会有更好的时间…@AdrianoRepetti这是我得到的唯一版本:(感谢您的快速提示,但在我的例子中,它类似于
return n(……)
,运算符在
)中,这就是让我非常困惑的地方,我正试图弄清楚如何转换第一个
return
语句(
return n(……)
)?您提供的示例用于内部部分:(@user387294)您可以忽略
(…)
中的所有内容。您的意思是可以忽略返回
n(…)
n()
是一个函数。如果
k=n(…)
,然后k被n分配给返回值。另外,让我很困惑的是
,您能告诉我如何渲染它吗?