Textarea到过滤数组Javascript

Textarea到过滤数组Javascript,javascript,arrays,Javascript,Arrays,我试图获取textarea的值,将其拆分为不同的属性 文本字段中的数据(这是一个示例,实际输入中有更多的空格): 这是我现在的代码: var textareadataData = $('#textareaID').val().split('\n'); 结果: " name lastname age fruit" " john doe 22

我试图获取textarea的值,将其拆分为不同的属性

文本字段中的数据(这是一个示例,实际输入中有更多的空格):

这是我现在的代码:

        var textareadataData = $('#textareaID').val().split('\n');
结果:

"    name       lastname        age             fruit"
"    john                doe             22             apple"
"eric                jonsson             23             apple"
我希望结果是:

"name","lastname","age","fruit"
"john","doe","22";"apple"
"eric", "jonsson","23","apple"
我试着四处寻找,但没有找到答案

致以最诚挚的问候,请再试一次

var string = $('#textareaID').val().replace(/\s+/g,' ')
正则表达式将用一个空格替换所有空格

然后你可以像往常一样使用split

string.split(" ");

您可以在新行的空格之后使用空格分隔

下面的代码将新行拆分与以下操作相加:

  • 过滤掉空行
  • 在多个空格中拆分每一行(不要像您在评论中所说的那样拆分
    green apple
  • 除去嵌套数组的空/空白元素
  • //这是您的代码
    var textareaData=$('#textareaID').val().split('\n');
    //这是您可以添加的额外代码(拆分空白并过滤掉产生的空白)
    var words=textareaData
    .filter(x=>x.length!==0)
    .map(x=>x.split(/(\s\s+/))
    .map(x=>x.filter(el=>el.trim());
    console.log(文字)
    
    名字姓氏年龄水果
    无名氏22号绿苹果
    埃里克·琼森23苹果
    
    尝试用正则表达式在单词之间留出一个空格:

    var textData = textareadataData.replace(/\s+/g, " ");
    
    然后用空格再次拆分:

    var textDataArray = textData.split(" "); 
    
    就在这里。
    您可以只在一行中完成,但我只在两行中进行了说明。

    您可以使用以下代码:

    $('#textareaID').val().split('\n').map(val => val.trim().replace(/[ ]+/g, " ").split(" "));
    
    要解释代码:

    $('#textareaID').val().split('\n')
    是您的代码

    .map()
    迭代所有行

    val.trim()
    删除外部空白

    replace(/[]+/g,”)
    删除所有重复的空白


    split(“”
    拆分所有内容

    Hmm,它几乎可以正常工作。它也将空格计算为属性。你知道如何摆脱它吗?添加了一个工作示例,其中包含你提供的额外反馈。在我的数组中,我得到了一些数组,其中有空格,但被过滤为自己的数组示例“绿苹果”,结果是“绿”、“苹果”,但我想要“绿苹果”。。。你能在这里帮忙吗?(除此错误外,它的工作原理类似于一个符咒)。然后,可以通过将
    \s+
    转换为
    \s+
    来修改正则表达式以匹配多个空格。添加了一个示例
    绿苹果
    ,请查看。修复了它!谢谢我收到了以下错误:$(…).val(…)不是函数对不起,我忘记了“替换函数”或者干脆
    .split(/\s+/)
    我收到了以下错误:$(…).val(…)不是函数@Maxime发布了相同的结果,如果你写'$('.\textareaID').val()(/\s+//g',)')。你会收到这个错误,但你需要这样写:$(“#textareaID”).val().replace(/\s+/g,”).split(“”)能否提供一个演示JSFIDLE?
    $('#textareaID').val().split('\n').map(val => val.trim().replace(/[ ]+/g, " ").split(" "));