1

私のテキストフィールドには次の値があります:

"1  
2  2
3  
4  4
5  a
6  
7  
8
"

「\n」で分割すると、次のようになります。

["1", "2  2", "3", "4  4", "5  a", "6", "7", "8", ""]

最後の要素を削除したい。私はこれをやっています:

$('#textArrayId').val().replace($('#textArrayId').val().split("\n")[$('#textArrayId').val().split("\n").length - 1], "")

そして、私はそれを削除することはできません。何をすべきか?

配列操作ではなく、文字列操作でこれを行いたいです。

4

3 に答える 3

3

最後の行を削除するには、これを使用します

var lines = $('#textArrayId').val().split("\n");
var withoutLastLine = lines.slice(0, -1).join("\n");
$('#textArrayId').val(withoutLastLine);

または、空白なしで最後の行を削除する場合:

var lines = $.trim($('#textArrayId').val()).split("\n");
var withoutLastLine = lines.slice(0, -1).join("\n");
$('#textArrayId').val(withoutLastLine);

配列の最後の要素を削除するには、次の式を使用して最後の要素以外のすべての要素を受け取ります。

x.slice(0, -1)
于 2012-10-12T15:08:10.390 に答える
2

分割する前に空白を削除することをお勧めします。そうすれば、入力をより確実に処理できます。

var lines = document.getElementById('textArrayId').value
               .replace(/^\s+|\s+$/g,'').split(/\s+/);

分割で使用される正規表現は、次のような入力も許可します。

1    2
  3         4  5 6
 7    8

また、注意: jQuery は使用されていません ^_^

于 2012-10-12T15:09:03.750 に答える
1

a [7]のような境界付き配列を使用して、1から8までの値を格納できます。

于 2012-10-12T15:16:30.530 に答える