javascript - 是否有一种 Javascript 方法可以实现嵌套括号的连接?

标签 javascript string concatenation

我正在尝试从输入创建一个字符串,但以一种独特的方式格式化。

输入将是单个单词:word1

在第一个输入出现之前字符串将为空,然后字符串 myString 将为 +(-word1)

对于第二个输入:word2myString 现在需要看起来像:

    +(-word1+(-word2))

为清楚起见,第三个输入:word3myString 现在将是:

    +(-word1+(-word2+(-word3)))

我相信这将需要比普通字符串连接更聪明的东西。我宁愿不使用循环。

是否有原生 Javascript(或可能是 JQuery)函数可以完成创建这样的字符串?

这是我做的

    var myString = '';

    function someFunction()
    { 
     ...

      var inputString = document.getElementById('my-input').value;
      myString = myString + "+(" + "-" + inputString + ")";
    }

然而这是生产

    +(-word1)+(-word2)

这是有道理的,因为字符串只是在函数中连接起来,需要发生的是一种插入。是否有一种 Javascript 方法可以使此插入更容易?也许是在当前字符串的倒数第二个空格处插入新字符串?但是它不是一个数组,所以我不知道这里的最佳做法。

最佳答案

不确定这是否是最漂亮的方法,但您可以在单词列表上使用 map ....

const words = ['word1', 'word2', 'word3']

let result = '+' + words.map(w => `(-${w}+`).join('').replace(/\+$/, '') + ''.padStart(words.length, ')')

console.log(result)

关于javascript - 是否有一种 Javascript 方法可以实现嵌套括号的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56779565/

相关文章:

python - 如何计算特定列中的项目/值在 pandas 数据帧的另一个/其他列中重复的次数?

java - 如何解析字符串中的数值?

python - 有点像串联但不完全是

python - 如何读取多个图像并用它们创建 3D 矩阵?

javascript - D3 折线图没有使用标签正确绘制 X 和 Y 轴

javascript - selenium-webdriver的nodejs服务器错误

javascript - $http请求在Angular js中传递到服务器而不在客户端指定

javascript - 使用占位符和替换对象格式化 JavaScript 字符串?

javascript - 在将 javascript 文件合并为一个文件之前我应该​​知道什么?

使用 strophe js 的基于 Javascript 的 XMPP 聊天客户端 - 示例和教程?