为了账号安全,请及时绑定邮箱和手机立即绑定

If/else 用于语音选项设置

If/else 用于语音选项设置

慕田峪7331174 2021-11-04 15:15:59
我正在尝试根据使用的是“文本”还是“ssml”来替换一些配置选项我需要对文本进行完全匹配还是使用 a!=来始终确保完全匹配?if textOption = "text" {    const request = {        input: { text: mytextvariable },    }    else {        const request = {            input: { ssml: mytextvariable },        }    }}
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

上述语句将始终执行,if因为您使用了=而不是==或===


let request; // the scope should be outside the blocks

if(textOption == "text") {

    request = {

        input: { text: mytextvariable },

    }

} else {

    request = {

        input: { ssml: mytextvariable },

    }

}


查看完整回答
反对 回复 2021-11-04
?
偶然的你

TA贡献1841条经验 获得超3个赞

您需要括号和双/三等号来对值进行匹配。


if (textOption === "text") {

一种简短的方法是采用带有检查和替代方案的条件运算符。


var textOption = 'text',

    mytextvariable = 'foo',

    request = {

        input: textOption === "text"

            ? { text: mytextvariable }

            : { ssml: mytextvariable }

    };


console.log(request);


查看完整回答
反对 回复 2021-11-04
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

var textOption = 'text',

    mytextvariable = 'foo',

    request = {

        input: { [textOption]: mytextvariable }

    };

这种方式属性名称基于textOption变量值。


如果您的变量可以有多个值(不仅是文本和 ssml),您可以改用表达式


request = {

    input: { [textOption === 'text' ? 'text' : 'ssml']: mytextvariable }

};


查看完整回答
反对 回复 2021-11-04
  • 3 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信