1

私はjavascriptを使った小さなプロジェクトに取り組んでいます。私は charAt メソッドを使用して、ace エディターから行の最初の文字を取得しています。ここに私のコードがあります:

function checkFirstChar (lineNo) {
  var words = lines[lineNo].split(" ");
  var firstChar = words[0].charAt(0);

  if (firstChar == "." || firstChar == "#") {
    return 0;
  }
  else return 1;
}

行は、ace エディターから抽出された配列または文字列です。問題は、最初の文字が '#' の場合にこれが正常に機能することです。ただし、最初の文字が '.' の場合、ドット '.' とは見なされません。代わりに、"" (空の文字列) として受け取ります。誰でもここで私を助けることができますか? どうしたの ?

編集:これは、配列、行を取得した方法です。

for(var i = 0, lines = new Array(numOfLines); i<numOfLines; i++ ){
        lines[i] = editor.session.getLine(i);
}

最も紛らわしいのは、words[0] からアラートを作成すると、ドット「.」が付いた単語が表示されることです。

4

2 に答える 2

1

私はコードを試しました。それは私にとって完全にうまく機能します。配列に挿入されている値を確認してください。うまくいくはずだと思います。次のコードを実装しました。

function myFunc() {
  var words = ".sdf dfsf #sdsd df";
  var firstChar = words[0].charAt(0);
  document.getElementById("demo").innerHTML = "";
  if (firstChar == "." || firstChar == "#")
    document.getElementById("demo").innerHTML = "bingo";
}
于 2014-12-16T17:13:23.263 に答える
0

charAt() を使用する代わりに、文字列を文字のテーブルとして使用する必要があります。

 var firstChar = words[0].charAt(0);

で置き換えることができます

 var firstChar = words[0][0];
于 2014-12-16T16:54:45.440 に答える