javascript - JavaScript中的连接函数,对于元素数量未知的数组,分隔符未显示在末尾
问题描述
我是 JavaScript 新手,在使用 join 函数时遇到了一个小问题。我有一个包含未知数量元素的数组,我想使用连接在每两个元素之间使用分隔符打印它。我想得到这样的东西:a/b/c/d
'/'是分隔符。问题是我最后得到了最后一个分隔符,如下所示:a/b/c/d/
. 我怎样才能摆脱这个?
这是我的代码:
var makePath;
function makePath(separator) {
let comp = []
return function(element) {
comp.push(element)
return comp.join(separator)
}
}
var main = function() {
var p1 = makePath("/");
p1("One");
p1("Two");
p1("Three");
window.console.log("p1:" + p1());
}
main()
解决方案
在您的console.log
声明中,您正在p1()
使用一个空参数进行调用。这就是将尾随分隔符添加到您的字符串的原因。您可能希望存储最终调用的结果并改用它。
var makePath;
function makePath(separator)
{
let comp = []
return function(element)
{
comp.push(element)
return comp.join(separator)
}
}
var main = function()
{
var p1 = makePath("/");
p1("One");
p1("Two");
var x = p1("Three");//store the result of p1('three')
window.console.log("p1:" + x );//print it out
}
main();
推荐阅读
- css - 由于 MIME 类型错误而拒绝应用样式
- c++ - 有没有办法可以在 Microsoft Visual Studio 2019 (C++) 的函数中初始化 VLA?
- ios - 更改可点击按钮区域的大小 – contentShape(_:) 不起作用
- nginx - 如何使用 Nginx 和 uWSGI 部署 Flask 应用程序?
- python - Python 2 远程容器配置不可用?
- javascript - Javascript 以 A1、B1、C1 等格式对混合的 alpa/数字进行排序
- python - 将字典数组转换为 Pandas 数据帧,并将数据帧转换回字典数组
- python - “堆栈溢出错误”后如何自动重新运行python代码
- python - 在 Tensorflow 2.4 中可视化自定义模型的图形
- sql - SQL Server 聚集索引:唯一与增加