首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Textarea到filtred数组Javascript

问Textarea到filtred数组Javascript
EN

Stack Overflow用户
提问于 2019-03-20 14:54:24
回答 4查看 138关注 0票数 2

我试图取textarea的值,将其分割成不同的属性。

textfield中的数据(这是一个例子,实际输入中有很多空格):

代码语言:javascript
复制
    name       lastname        age             fruit
    john                doe             22             apple
eric                jonsson             23             apple

这是我现在的代码:

代码语言:javascript
复制
        var textareadataData = $('#textareaID').val().split('\n');

结果:

代码语言:javascript
复制
"    name       lastname        age             fruit"
"    john                doe             22             apple"
"eric                jonsson             23             apple"

我希望结果是:

代码语言:javascript
复制
"name","lastname","age","fruit"
"john","doe","22";"apple"
"eric", "jonsson","23","apple"

我试着到处找,但没有找到答案。

向威克问好

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-03-20 15:00:03

您可以在新行之后使用空格拆分。

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

  1. 过滤掉空线
  2. 在多个空格上拆分每一行(不要像注释中所说的那样拆分green apple )
  3. 获取删除嵌套数组的空/空白元素。

​

代码语言:javascript
复制
// This is your code
var textareaData = $('#textareaID').val().split('\n');

// This is the extra code you can add (split whitespaces and filter out resulting ones)
var words = textareaData
  .filter(x => x.length !== 0)
  .map(x => x.split(/(\s\s+)/))
  .map(x => x.filter(el => el.trim()));

console.log(words)
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="textareaID">
    name       lastname        age             fruit
    john                doe             22       green apple
eric                jonsson             23             apple
</textarea>

​

票数 3
EN

Stack Overflow用户

发布于 2019-03-20 14:58:49

请尝试

代码语言:javascript
复制
var string = $('#textareaID').val().replace(/\s+/g,' ')

regex将将所有空间替换为一个空格。

然后,您可以像往常一样使用拆分。

代码语言:javascript
复制
string.split(" ");
票数 0
EN

Stack Overflow用户

发布于 2019-03-20 15:00:19

试着在带有正则表达式的单词之间留出一个空格:

代码语言:javascript
复制
var textData = textareadataData.replace(/\s+/g, " ");

然后再用空格分割它:

代码语言:javascript
复制
var textDataArray = textData.split(" "); 

然后你就有了。你可以用一行来做,但我用两行来解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55263785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档