在Javascript中检查余数

时间:2017-12-07 03:55:45

标签: javascript

我是Javascript的超级新手。我试着编写一个按顺序记录数字的脚本,最后告诉我最终的数字是偶数还是奇数。

我拥有的是:

var i = 0;

  do {
    i++;
    console.log(i)
    }

 while (i <= 9);

 if(i % 2 = 1) {
   console.log("odd")
   }

 else {
   console.log("even")
    }

在我添加if / else之前,它有效。现在我一直收到错误:分配中的左侧无效

我做错了什么?为了真正展示我的无知,任务的左手边是什么?

谢谢!

6 个答案:

答案 0 :(得分:4)

首先,在检查余数时,您将需要使用双等号(==)或三等号(===),因为使用单一等号(=)为变量赋值。

=====之间的差异:
=====更严格,因为===检查值AND类型,而==只检查值。

示例:

if(1 == '1') // true
if(1 === '1') //false : their types are different.

其次,您可能希望在if循环中包含do-while语句,以便在记录每个数字后获得evenodd的输出。

以下是最终结果:

var i = 0;

do {
  i++;
  console.log(i);
  if(i % 2 === 1) {
    console.log("odd");
  } else {
    console.log("even");
  }
} while (i <= 9);

答案 1 :(得分:2)

而不是=,而==条件中if应为if(i % 2 == 1) { console.log("odd") }else { console.log("even") }

答案 2 :(得分:2)

如果条件来自if(i % 2 ==1) ,您需要更改 到

Base.@pure recursive_unitless_eltype(a) = recursive_unitless_eltype(eltype(a))
Base.@pure recursive_unitless_eltype{T<:StaticArray}(a::Type{T}) = similar_type(a,recursive_unitless_eltype(eltype(a)))
Base.@pure recursive_unitless_eltype{T<:Array}(a::Type{T}) = Array{recursive_unitless_eltype(eltype(a)),ndims(a)}
Base.@pure recursive_unitless_eltype{T<:Number}(a::Type{T}) = typeof(one(eltype(a)))

答案 3 :(得分:2)

如果它表示无效的左侧,则表示您正在尝试为左侧的某个值指定值。你用过 -

if(i % 2 = 1) 

但是,=是赋值运算符,它基本上为左侧的变量赋值。你需要的是==这是一个比较运算符,因为你试图比较两个值。

这应该是你的代码 -

if(i % 2 == 1)

答案 4 :(得分:1)

==

因为=用于相等比较,而 // Make the REST call, returning the result $response = curl_exec($this->curl); // result is as per screenshot below $resp_json = json_decode($response, true); echo "<pre>"; print_r($resp_json); // display nothing echo "</pre>"; 用于分配值。

答案 5 :(得分:1)

所以代码中的问题是,你正在使用赋值运算符&#34; =&#34;在你的if条件中,改为使用&#34; ==&#34; (比较运算符)。

您可以在Javascript中找到有关比较运算符的更多信息: https://www.w3schools.com/js/js_comparisons.asp