JavaScript-将单词拆分为字母并保存到数组中

JavaScript-将单词拆分为字母并保存到数组中,javascript,arrays,Javascript,Arrays,我有以下代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Bad Grammar Generator</title> </head> <body> <input type="text" id="userIn"> <input type="button" name="na

我有以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Bad Grammar Generator</title>
</head>
<body>

  <input type="text" id="userIn">
  <input type="button" name="name" id="btn" value="Bad Grammar-ify" onclick="badgrammar()">
  <span id="output"></span>
  <script type="text/javascript">
    var userIn = document.getElementById("userIn").value;
    function badgrammar() {
      var userIn = document.getElementById("userIn").value;
      var output = document.getElementById("output");
      var split = new Array();
      split = userIn.split(" ");
      output.innerText = split;
    }
  </script>

</body>
</html>

错误语法生成器
var userIn=document.getElementById(“userIn”).value;
函数badgrammar(){
var userIn=document.getElementById(“userIn”).value;
var output=document.getElementById(“输出”);
var split=新数组();
split=userIn.split(“”);
output.innerText=拆分;
}
它可以工作,但它将用户输入拆分为一个单词。如何将用户输入拆分为字母

例如:

输入:
你好

输出:
H,i,t,H,e,r,e

这应该是您想要的:

var split = userIn.replace(/ /g, '').split('');
请注意,这里有两个步骤:

  • replace(“”,”)
    删除输入中的所有空格(将其替换为零)
  • 拆分(“”)
    拆分为单个字符

  • 您可以使用
    match
    进行以下操作:

    s=“你好”;
    res=s.match(/\s/g);
    
    控制台日志(res)
    userIn.split(“”)(其中没有空格)将拆分为单个字符,但听起来您还想排除空格?这将只替换第一个空格。请尝试
    .replace(//g',)。
    此解决方案比其他非基于正则表达式的解决方案效率要低得多。@usandfriends,我认为您不会注意到OP询问的特定用途有任何不同,即HTML
    input
    元素。浏览器和DOM的开销将比执行此代码更重要;-)刚刚做了一个性能测试:对于一个20万字符的字符串,这段代码在我的电脑上花费了15毫秒。所以。。。我想性能不是问题。1)你假设每个客户的电脑都有你的电脑规格。2) 您不知道此代码的用例是什么,例如何时运行,如何使用。3) 您正在使用应用程序另一部分的低效性来证明您自己的代码的低效性?这似乎是不对的……1)我并没有这样假设,这就是为什么我说:在我的电脑上。我假设今天的电脑不会比我的笔记本电脑慢20倍。2) 问题中给出了代码的用例。用户点击一个按钮来测试他们的输入。然后在另一个HTML元素中输出各个字符。3) 我什么都没用。我提供了一个切合实际的答案,仅此而已。