所以我有一个包含内容的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)并删除分隔符。如果需要,我可以更改分隔符,这不是问题。
预感谢。
答案 0 :(得分:2)
使用
split
根据separator
分割字符串。
使用.filter
删除empty
值
使用.map
将字符串转换为数字
试试这个:
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;
答案 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