使用javascript进行大写,每隔换行一次,并在每一新行的开头添加字符串

Using javascript to Capitalize, Break it up with a new line every, and Add String to the beginning of each new line

本文关键字:一次 新行 字符串 添加 开头 javascript 使用 换行      更新时间:2023-09-26

使用javascript(1)将用户输入字符串中的所有字符大写,(2)每隔45个字符用一行换行,(3)在每一新行的开头添加特定字符串(例如"//////")。

我想要一个简单的应用程序,在那里我可以复制和粘贴一个文本字符串,并有一个函数来完成上面的操作。

例如:
复制并粘贴"我是JavaScript的新手,所以即使是这个简单的代码也很难写",并获得以下内容:

"
//////我是Java脚本的新手,所以即使是这个简单的C
//////ODE很难书写
"

我想,在未来,这样它就不会在中间截断这样的单词,并且可以使用空格来找到新的行应该在哪里,但现在看起来有点多。

我所拥有的只是资本化功能:

var txt = prompt("Enter string of text");
var cap = txt.toUpperCase();
alert(cap);

但我希望它同时运行所有三个函数,并将alert()作为最终产品。

在"函数式编程风格"中,您可以这样做:

var txt = prompt("Enter string of text");
var cap = txt.toUpperCase().split('').reduce(function(agg, item, i) {
  if(i % 45 === 0) {
    if(i > 0) {
      agg.push(''r'n');
    }
    agg.push('//////');
  }
  agg.push(item);
  return agg;
  }, []).join('');
alert(cap);

本质上,这里发生的是字符串是:

  1. 已转换为大写。然后
  2. 拆分为单个字符的数组。然后
  3. 数组被"缩减"为一个新数组,其中包含交织的新行和"分隔符"字符串(//////)。然后
  4. 新数组被连接以形成一个新字符串

1减少数组是一种按顺序迭代数组项并增量生成单个"减少"结果的操作。这通常用于对多个值求和等场景。在这段代码中,这不是对该函数的"逻辑正确"使用,因为它不会减少任何内容,但它确实启用了函数式解决方案。