我正在尝试创建一个在“航类”和“###”之间添加空格的函数,但希望在航类号大于 3 位的情况下使其正常工作。我知道我可以使切片方法的第二部分成为一个巨大的数字,并且它在技术上是可行的,但我认为应该有一种更优雅的方法。任何帮助将不胜感激,谢谢!
const addSpace = function (str) {
const flightNumber = str.slice(6, 9);
return [str.slice(0, 6) + ' ' + flightNumber]
}
console.log(...addSpace('flight843'));
最佳答案
作为 flight
字符串将始终存在。我们可以通过使用 String.replace()
来简单地实现这一点方法。我还在 jsbench
中进行了性能测试,它是这里提到的所有解决方案中运行速度最快的。
现场演示:
const addSpace = function (str) {
const len = str.replace('flight', '').length;
return len > 3 ? str.replace('flight', 'flight ') : str
}
console.log(addSpace('flight843')); // 'flight843'
console.log(addSpace('flight8432')); // 'flight 8432'
关于javascript - 如何创建一个提取不同长度字符串的中间到末尾的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72972511/