我有一个JSON文件,我想从中获取值并显示。我尝试使用三元运算符,但是由于我有多个变量,因此似乎无法获得所需的输出。这是我尝试过的:
//If there's a word, display its character / reading. Otherwise, just display the reading
return `${json.data[0].word} ? ${json.data[0].word (${json.data[0].reading}) : ${json.data[0].reading}`
这仅输出实际的字符串,但如果json.data [0] .word未定义,则未定义。在这种情况下,我只想显示读数。
答案 0 :(得分:2)
占位符不能在String模板中递归工作。 编写更清晰的代码。
如果您坚持使用紧凑的三进制代码:
json.data[0].word
? `${json.data[0].word} (${json.data[0].reading})`
: `${json.data[0].reading}`
您不需要外部占位符。
答案 1 :(得分:1)
有一个更简单的方法可以解决此问题。首先,我将创建一个包含结果评估的变量,然后简单地返回该结果的文字。
然后,我将嵌套的三进制分解为一组嵌套的if语句,这些语句将来会更容易理解和修改。看一下下面的代码块,您应该能够非常轻松整洁地构造代码。我认为嵌套三元组是非常不好的做法,应该始终避免。
BeanAttributes