大家好先发帖,需要最好的方法或解决方案来重构一些我觉得很难看的东西,通常没有足够的时间花在它上面。
if(textInput.length > 0) {
href = href + '&' + jQuery.param({ text: textInput.val()});
}
if(symbolDropdown.length > 0) {
href = href + '&' + jQuery.param({ symbol: symbolDropdown.val()});
}
任何帮助都会非常感谢。
答案 0 :(得分:0)
你可以这样做:
href += (textInput.length?
`&${jQuery.param({ text: textInput.val()})}`:''
) + (symbolDropdown.length?
`&${jQuery.param({symbol: symbolDropdown.val()})}`:''
)
虽然老实说,如果我要重构这段代码,我会做类似的事情:
const params = [], escPush = i => params.push(jQuery.param(i))
textInput.length && escPush({text: textInput.val()})
symbolDropdown.length && escPush({symbol: symbolDropdown.val()}))
params.length && (href += '&' + params.join('&'))
答案 1 :(得分:0)
您可以使用数据创建数组并映射jQuery.param
。稍后加入&
;
href += '&' + []
.concat(textInput.val() || [], symbolDropdown.val() || [])
.map(a => jQuery.param({ symbol: a }))
.join('&');