我想将传递到我的函数的参数(所有字符串)与分隔符 ' | 一起加入',但如果它们都是空字符串,则只传递一个空字符串。
我有以下内容:
constructString(one: string, two: string, three: string) {
if (one === '' && two === '' && three === '') {
return '';
}
return [one, two, three].filter(Boolean).join('|')
}
我的问题是...是否有更简单、更优雅的方法来执行此任务,或者 JS 具有一些我在执行此任务时缺少的有用功能?
最佳答案
您可以使用...
运算符
function constructString(...args) {
if (args.every(x => x === '')) {
return '';
}
return args.join('|');
}
console.log('[', constructString('a', 'b', 'c'), ']');
console.log('[', constructString('', '', ''), ']');
极简主义爱好者
function constructString(...args) {
return args.every(x => x === '') ? '' : args.join('|');
}
console.log('[', constructString('a', 'b', 'c'), ']');
console.log('[', constructString('', '', ''), ']');
关于javascript - 如何检查所有参数是否相同并返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52889485/