1

簡単なJavaScriptの「ライフゲーム」の実装を作成したいと思います。ユーザーが自分の構造を入力できるようにしたい。

だから私たちはtextaeriaを持っています、ユーザーはそれを次のようなもので埋めます

*···
*·*·
**··

4このような入力幅、高さ3、および配列フィールドから取得する方法

100010101100

javascriptを介してテキスト入力からそのようなデータを取得するにはどうすればよいですか?

4

3 に答える 3

1

正規表現を使用して各行を配列に分割し、結果の配列をループし、そのインデックスにある文字列の各文字をループし、* であるかどうかを確認し、結果の文字列に 1 または 0 を追加します。結果の文字列とワムに、結果が得られます。

于 2011-06-09T11:33:52.873 に答える
1

ピリオドではなく183文字?

var s = document.getElementById(..);
//remove all whitespace, replace *, replace ·
s = s.replace(/\s+/gm, "").replace(/\*/g, "1").replace(/\xb7/g, "0");

ピリオド使用の場合\。それ以外の\xb7

明確ではありませんが.split("");、最後に配列スティックとしてそれが必要な場合。

幅/高さの編集

var width =  (s + "\r\n").indexOf("\r\n"); //position of 1st new line
var height =  s.split("\r\n").length; //count of lines
于 2011-06-09T11:35:51.753 に答える
1

jquery を使用して 1 つの文字列を作成します。

$("#test").val().replace(/·/g,'0').replace(/\*/g,'1').replace(/\n\r?/g,'');

デモ: http://jsfiddle.net/pBauP/

セルの配列を含む行の配列を作成する別の例ですが、幅と高さでそれが必要ですか?

var results = [];

var arr = $("#test").val().split('\n');

$.each(arr, function() {
var row = this.replace(/·/g,'0').replace(/\*/g,'1').split("");
results.push(row);
});

デモ 2: http://jsfiddle.net/3qqkY/

于 2011-06-09T11:46:28.040 に答える