【问题标题】:JavaScript - Problem splitting a long code line [duplicate]JavaScript - 拆分长代码行的问题[重复]
【发布时间】:2023-03-12 17:35:01
【问题描述】:

我想分割这条线,因为它太长了。

ticketText = `*Environment:*\n${values["environment"]}\n\n*Observed on:*\n${values["observedOn"]}\n\n*Description:*\n${values["description"]}\n\n*Steps:*\n${steps}\n\n*Attachments:*`

我试过了,但它在 Observed on 和 Steps 的开头添加了空格。

ticketText = `*Environment:*\n${values["environment"]}\n\n
*Observed on:*\n${values["observedOn"]}\n\n*Description:*\n${values["description"]}\n\n
*Steps:*\n${steps}\n\n*Attachments:*`

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您可以采用这种方法:

    const values = {
      environment: "UAT",
      observedOn: "Something",
      description: "Something"
    };
    const steps = "Something";
    const ticketText =
      `*Environment:*\n${values["environment"]}\n\n` +
      `*Observed on:*\n${values["observedOn"]}\n\n` +
      `*Description:*\n${values["description"]}\n\n` +
      `*Steps:*\n${steps}\n\n*Attachments:*`;
    
    console.log(ticketText);

    【讨论】:

      【解决方案2】:

      您可以使用line continuation (\)

      const values = { "observedOn":"Friday", "description":"Bla", "environment":"cold" }
      const steps = 4;
      ticketText = `*Environment:*\n${values["environment"]}\n\n\
      *Observed on:*\n${values["observedOn"]}\n\n*Description:*\n${values["description"]}\n\n\
      *Steps:*\n${steps}\n\n*Attachments:*`
      
      console.log(ticketText)

      使用剪贴板

      const values = {
        "observedOn": "Friday",
        "description": "Bla",
        "environment": "cold"
      };
      const steps = 4;
      const ticketText = `*Environment:*\n${values["environment"]}\n\n\
      *Observed on:*\n${values["observedOn"]}\n\n*Description:*\n${values["description"]}\n\n\
      *Steps:*\n${steps}\n\n*Attachments:*`
      document.getElementById("btn").addEventListener("click", function() {
        navigator.clipboard.writeText(ticketText).then(function() {
          console.log('Async: Copying to clipboard was successful!');
          navigator.clipboard.readText().then(function(data) {
            document.getElementById("ta").value = data;
          });
        }, function(err) {
          console.error('Async: Could not copy text: ', err);
        });
      });
      <button id="btn" type="button">Paste from Clipboard</button><br/>
      <textarea id="ta" rows=15 cols=50></textarea>

      【讨论】:

      • 我之前尝试过但效果不佳,它在观察和步骤之前添加了一个空格。我有一个按钮,可以将该文本复制到剪贴板,当我粘贴它时,我会看到那些空格
      • 不支持
      • @Fran W o r k s f o r m e - 查看更新 - 您需要允许剪贴板访问
      【解决方案3】:

      您可以在每行末尾添加\ 字符:

      var values = {
        environment: 'environment',
        observedOn: 'observedOn',
        description: 'description'
      };
      
      var steps = 'steps';
      
      
      console.log(`*Environment:*\n${values["environment"]}\n\n\
      *Observed on:*\n${values["observedOn"]}\n\n*Description:*\n${values["description"]}\n\n\
      *Steps:*\n${steps}\n\n*Attachments:*`)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-01
        • 2020-09-12
        • 2014-09-17
        • 1970-01-01
        • 2011-11-13
        相关资源
        最近更新 更多