JS从数组中删除多个项目

时间:2016-03-11 07:03:39

标签: javascript arrays string

所以我有一个包含内容的textarea,只有数字和| (分隔符)。示例:

<textarea>32|11|5|54|</textarea>

我想要的是附加textarea内容,只删除分隔符(|)并按顺序保留数字。得到那种阵列:

var myArray = [22,9,54,37];

请注意,我只允许使用基本的JS

我知道如何在字符串中获取textarea内容,但我不知道如何在不破坏数字的情况下推送()数组中的所有元素(即具有2,2,9,5,4 ,3,7而不是22,9,54,37)并删除分隔符。如果需要,我可以更改分隔符,这不是问题。

预感谢。

4 个答案:

答案 0 :(得分:2)

  

使用split根据separator分割字符串。

使用.filter删除empty

使用.map将字符串转换为数字

试试这个:

&#13;
&#13;
var val = document.getElementById('ta').value;
var arr = val.split('|').filter(function(item) {
  return item; //empty string is falsey value
}).map(Number); // cast string to Number
console.log(arr);
&#13;
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<textarea id='ta'>32|11|5|54|</textarea>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

在过滤条件中使用trim来检查空值。

试试这个

#include <my_global.h>   **// This line shows error**
#include <mysql.h>        **// This line shows error**

int main()
{

}

答案 2 :(得分:0)

您可以在javascript中使用split()函数,并将|作为参数传递给它。这将创建一个包含所有数字的数组,而不包含|符号

如果您需要按顺序编号,那么您可以使用传入,的.join()来创建输出字符串。

使用Javascript:

var textarea = document.getElementById( "textarea" ).value;
var values = textarea.split('|');
var valuesAsString = values.join(', ');

HTML:

<textarea id="textarea">32|11|5|14</textarea>

答案 3 :(得分:0)

您正在寻找接受分隔符作为参数的String.prototype.split方法。见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split

因此,在您的情况下,它将是'22|33|44'.split('|')

如果要将这些值添加到现有数组,则应使用Array.prototype.conat方法:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat