1

単一の文字のみを取り、配列内でその位置を見つけるフォームを作成しようとしています (これは基本的にアルファベットです)。

私はこの簡単なコードを書きました:

var alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
var letter = "h";
var letterPosition = alphabet.indexOf(letter);

document.write(letterPosition);

基本機能のデモンストレーション。ただし、これを a に入れ、フォームの入力の値と等しくするfunction get方法がわかりません。var letter

入力値の後に来る配列内のすべての値を出力するループ (if/else 内) を記述できるように、配列内の場所を返すようにします。

4

4 に答える 4

2

デモをビルドする http://jsbin.com/ijuco4

于 2011-03-09T06:13:12.603 に答える
2

試してください:alphabet[alphabet.indexOf(letter)]またはあなたのコードでalphabet[letterPosition]

あなたが言及したループに関して:その値を使用して、sliceメソッドを使用して配列から残りの文字のサブセットを取得できますalphabet(エルゴ:配列から残りの要素を決定するためのループは必要ありません):

var subset = alphabet.slice(indexOf([a letter]));

入力の手間を省くために、次のようにアルファベット配列を宣言することもできます。

var alphabet 'abcdefghijklmnopqrstuvwxyz'.split('');
于 2011-03-09T06:20:45.697 に答える
2

コンテキストがわかりません。これはページとともに読み込まれますか (AJAX は関係ありません)? 私は単純化しすぎているかもしれません:

<input type="text" id="whichLetter" />
<script type="text/javascript">

function getLetterPosition(allLetters, letter)
{
  return allLetters.indexOf(letter);
}

var alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
var letter = document.getElementById("whichLetter").value;
var letterPosition = getLetterPosition(alphabet, letter);

</script>

私はジャバスクリプトが大好きです。

于 2011-03-09T06:21:55.587 に答える