JavaScriptコードで出力する値を修正する方法

このQ&Aのポイント
  • 下記のJavaScriptコードで、trueを4回、falseを2回出力させたいが、エラーが出てしまう。
  • エラーメッセージは「Invalid left-hand side in assignment」と表示されている。
  • 修正するためには、コードの左辺を修正する必要がある。
回答を見る
  • ベストアンサー

console.logについて

console.logについて ●質問の主旨 下記のjavascriptコードで、trueを4回、faluse2回を 出力させたいと考えています。 ところが、 ReferenceError: Invalid left-hand side in assignment というエラーが出て、出力できません。 左辺がおかしいというメッセージは読み取れますが、 それ以上どこが悪いのかよく分かりません。 こちらの意図通り実行させるためには、 どのようにコードを訂正すればよいでしょうか? ご存知のかたよろしくお願いします。 ●コード console.log(15) > 4; console.log("Xiao Hui".length) < 122; console.log("Goody Donaldson".length) > 8; console.log(8*2) = 16; console.log("echizenya_yota".length = 10); console.log("echizenya_yota".length < 10);

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 console.log ( 15 > 4 ); console.log ( "Xiao Hui".length < 122 ); console.log ( "Goody Donaldson".length > 8 ); console.log ( 8*2 == 16 ); console.log ( "echizenya_yota".length == 10 ); console.log ( "echizenya_yota".length < 10 ); こうすれば上からtrue,true,true,true,false,falseとなるはずです。

dradra33
質問者

お礼

LancerVIIさま ご回答ありがとうございます。 logの引数をカッコ内に入れると、 意図通りの出力ができました。 大変助かりました!

関連するQ&A

  • js初心者 consoleなどについて

    初心者で恐縮ですが、よろしくお願いします。 jqueryを使用してます。 $(function () { obj = function(attr){ $.get('getFileList.php', {attribute : attr.data.value }, function(data){var array = data;}); }; delete obj; $("#file").on('input', {value:'file'}, obj); }); #fileに入力があったらobjが発動し$.getでphpから値を得て出力するという処理を書いています。 うまくいかないので変数arrayにちゃんと値が入っているか確認しようとしconsole.log(array)としたところjsのソースコードがconsoleにそのまま表示され、console.logを消してみてもまったく変化がなくなってしまいました。(console.log(array)したことが原因なのかは不明です。これを描いたあたりから変化がなくなっていたような気がするので。) やってみたこととしてはキャッシュの削除と.onの呼び出しの前にオブジェクトを削除することです。 ですが、やはりその変更点もconsoleに反映されてません。  初歩的かもしれませんがよろしくお願いします。

    • ベストアンサー
    • AJAX
  • 「true」と「false」

    ●質問の主旨 「( ) 」の 条件式 の 値 が「true」 なら「正解だ / right」とプリントしたい。 「false」 の時は「間違い / wrong 」とプリントしたい。 下記のようなコードを入力しましたが、 コンソールするとエラーが返されます。 どこが間違いなのか、コードを何度読み直しても 分かりません。どなたかご存知のかたご教示願います。 ●javascriptのコード if ("Leng".length === 4){ console.log("正解だ / right"); // 1行目が正しければ,ここのコードを実行 }else{ // 正しくなければ console.log("間違いだ / wrong"); }

  • JavaScriptの問題に関して教えてください。

    下記問題の解き方および答えが考えても全然分からず、お教えいただきたいです。お願いいたします。 以下のプログラムを読んで、どういったプログラムなのかを説明してください。 let change = 0; let change_sum = 0; const data = [ 31, 41, 59, 26, 53, 58, 97, 93, 23, 84 ]; console.log("並べ替える前"); for (let i = 0; i < data.length; i++) { console.log(data[i] + " "); }// for console.log("\n"); console.log("***********************************"); console.log(""); for (let i = 0; i < data.length - 1; i++) { for (let j = i + 1; j < data.length; j++) { if (data[i] > data[j]) { let a = data[i]; data[i] = data[j]; data[j] = a; change++; }// if }// for(内側1) console.log((i + 1) + "回目"); console.log(`${change}回`); for (let k = 0; k < data.length; k++) { process.stdout.write(data[k] + " "); }// for(内側2) console.log("\n"); change_sum += change; change = 0; }// for(外側) //最終結果の表示 console.log("***********************************"); console.log(""); console.log(`${change_sum}回`); console.log("最終結果"); for (let i = 0; i < data.length; i++) { process.stdout.write(data[i] + " "); }// for console.log("");

  • (JavaScript)変数や文字列難しい

    JavaScript 第1問目 // [変数 - 右辺が変数を使った式1] // ---------------------------------------- // 変数sに、変数piの値に変数rの値を2回掛け合わせた値を代入してください let pi = 3.14; let r = 5; ×let s = ; console.log("円の面積は" + s); ※×は間違い。 第2問目 // ---------------------------------------- // [文字列 - 大文字に変換1] // ---------------------------------------- // 変数cの文字を大文字に変換して出力してください let c = "p"; ×console.log(toUpperCase+()); ※×は間違い。 第1問目 ×let s = ;のところですが、let s = (3.14*5)+(3.14*5);でも間違いです。変数sに、変数piの値に変数rの値を2回掛け合わせた値の計算方法やコードは何でしょうか? 第2問目 ×console.log(toUpperCase+());のところですが、console.log(toUpperCase+("p"));やconsole.log(toUpperCase+("c"))は違います。console.log{toUpperCase+}も違います。大文字に変換するコードは何でしょうか?

  • javascriptで歪度と尖度を求めるコード

    サイトを参考に不偏分散から歪度と尖度を下記のコードで求めることが出来たのですが、 <!DOCTYPE html> <html lang="ja"> <head> <meta charset=utf-8 > <title>unbiased_Variance</title> </head> <body> <script> const arr = [70,71,70,74,75,73,72] // 平均値を計算 let sum = 0; arr.forEach((x, i) => sum += x) const ave = sum / arr.length; // 分散を計算 let dist = 0; arr.forEach((x, i) => dist += (x - ave) ** 2) const unbiasedVariance = dist / (arr.length-1); //不偏分散 const SD = Math.sqrt(dist / (arr.length-1)); // 歪度と尖度を計算 let sum3 = 0; let sum4 = 0; for (var i in arr){ sum3 += Math.pow((arr[i] - ave)/SD, 3); sum4 += Math.pow((arr[i] - ave)/SD, 4); } const skew = sum3*arr.length/(arr.length-1)/(arr.length-2); const exKurt = arr.length*(arr.length+1)/(arr.length-1)/(arr.length-2)/(arr.length-3)*sum4 - 3*(arr.length-1)*(arr.length-1)/(arr.length-2)/(arr.length-3); console.log(unbiasedVariance); console.log(skew); console.log(exKurt); </script> </body> </html> javascriptはコピペで使用が主なので複雑な計算方法の書き方は分かりません、そこでこんな形のコピペのコードが出来上がりました。 配列から歪度と尖度を求めるコードをもっとすっきりした形になればと思い質問しました。もし宜しければご教授お願います。

  • rubyの見えない文字

    こんばんは Ruby1.9.2のrails3.1.1を使用しています。 csvファイルをアップロードして、 data = param[:file].read.encode("UTF-8","UTF-8", :invalid => :replace, :undef => :replace, :replace => '').read.encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => '?') のように読み込みまして、最初の1行の最初の要素が"code"でした。そこで、 data[0][0] == "code" としましたところ、falseが出力されました。両方とも文字コードはUTF-8で"code"なのですが、調査したところ data[0][0]length #=> 5 "code".length #=> 4 という違いが見つかりました。 この読み込みデータの見えない文字はなんなんでしょうか。 また、これを取り除く方法は何かありませんでしょうか。よろしくお願いします。 参考 data = param[:file].read.encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => '').read.encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => '?') としたところ、"???code"、長さ7という結果になりました。

  • js 配列

    javascript 配列についてです。 ソースなのですが <script> var user = { email: "taguchi@gmail.com", score: 80, greet: function(name){ console.log("hello," + name + "from" + this.email); } }; user:greet("Tom"); </script> を実行してもコンパイルエラーになり通りません。 エラーコードはUncaught ReferenceError: greet is not definedなので 「greet」が定義されていないよ。という意味だと思うのですが自分の目には定義されているようにしか見えません。 何故エラーになるか理由を教えて頂けると嬉しいです。 ※質問ばかりでスミマセン。答えなくても結構です。ダメ元で質問してみようとは思っています。

  • node.jsのシェル上で

    コンソール上でnodejsを起動してシェルとしてつかった場合 var x="グローバル変数"; console.log(x); //とするとグローバル変数と出力されます。 さらに console.log(this.x); //とするとグローバル変数と出力されます。 そもそもグローバル変数とはトップレベルコードにおけるオブジェクトのプロパティとあります。 ブラウザだと、トップレベルのスコープで定義した変数は alert(window . variable); でアクセスできます。 ですから、nodeコンソール上で xとっ宣言した変数がthis.xとトップオブジェクトとしてアクセスできることはわかったのですが これをコンソールではなく、jsファイルに描いてそれをnodeコマンドで実行した場合 ~$ node test.js といった具合に実行させた場合 どうも、undefindeと表示されてしまうのです。 これは何が原因でundefinedと出力されてしまうのでしょうか?

  • [JS]setTimeoutでクラス関数を使いたい

    他の処理を待ってから、別の処理を実施したい場合に、setTimeoutを使用するのが 一般的だと思いますが、特定のクラスの関数を実行する方法がよくわかりません。 グローバル変数を使用する場合には以下で動きます。 ※待機の部分は、問題を簡略化するため今回は3回実行完了まで、としています。 counter = 0; max = 3; method(); function method(){ if ( counter < max ) { timerId = setTimeout(method, 10 ); console.log(counter); counter++; } else { console.log("done"); } } 出力は以下のとおり。 0 1 2 done methodやcounter, maxなどを隠蔽するため、クラス関数を作り、以下のようにしました。 a = new test(); a.method(); function test(){ this.counter = 0; this.max = 3; this.method = function(){ if ( this.counter < this.max ) { timerId = setTimeout(this.method, 10 ); console.log(this.counter); this.counter++; } else { console.log("done"); } } } 出力は以下のようになってしまい、意図したように実行できていません。 0 done このような場合、どのようにしてクラス関数を再呼び出しするのでしょうか。

  • onclickの中のvar i

    天才のプログラマーの皆様に質問です。 要素にonclickイベントを設定したいのですが、下記のコードの問題の行★★★について ご説明をいただけないでしょうか? htmlファイル---------------------------- <input type="button" id="card_0" value="?"> <input type="button" id="card_1" value="?"> <input type="button" id="card_2" value="?"> <input type="button" id="card_3" value="?"> jsファイル------------------------ var el=document.getElementsByTagName("input"); for(var i=0;i<el.length;i++){ console.log(i); // 0,1,2,3 el[i].onclick=function(){ flip(this.id.replace(/^card_/,"")); //関数を設定  正しく設定されている console.log(this.id.replace(/^card_/,"")); // 0,1,2,3 console.log(i); //★★★ 0,1,2,3ではなく、なぜか4が表示されてしまう flip(i)では動作しない flip(this.id.re...略)のthisはel[i]でも動作しません }; } function flip(n){ 略 }

専門家に質問してみよう