0
 function ExOh(str) { 
   sumsofarx=0;
   sumsofary=0;
       for(var i=0; i<str.length;i++)
         if(str(i)==x){
          sumsofarx++;

            }
if(str(i)==y){
 sumsofary++;

 }
     if(sumsofarx % sumsofary===0){
     return true;
 }
 else{
     return false;
 }



 };
  console.log(ExOh("xo"));

ここで構文がずれている可能性があると考えています.x と o がループされたときに読み取られるかどうかを調べようとしています.X と O の数が偶数の場合は true を返します.ここで、コードを書くためのより簡単な方法を本当に知りたくはありません(気にしませんし、批判は大歓迎です:))が、コードを機能させるために何をする必要があるかを知りたいのですが、コードに構文エラーがあると考えていますif セクション、よろしくお願いします!

4

1 に答える 1

0

まず、文字列内の特定のインデックスにある文字にアクセスするには、角括弧またはメソッド .charAt(index) を使用する必要があります。

str(i)str[i]または_str.charAt(i)

次に、この指示で:

if(str(i)==x)

iindexの文字を と比較しようとしていますxが、 は何xですか?

修正されたコードは次のようになります。

function ExOh(str) { 
    sumsofarx = 0;
    sumsofary = 0;
    for (var i = 0; i < str.length; i++) {
        if (str[i] === 'x') {
            sumsofarx++;
        }
        if (str[i] === 'o') {
            sumsofary++;
        }
    }
    if (sumsofarx === sumsofary) {
        return true;
    } else {
        return false;
    }
}
于 2013-09-07T18:27:59.820 に答える