javascript - 函数在迭代中返回 True 而不是 False

标签 javascript arrays

我正在 edabit 上做一些挑战,我遇到了输出问题。所以我必须创建一个函数,它接受一个数组(老虎机结果),如果数组中的所有元素都相同,则返回 true,否则返回 false。该数组将包含 4 个元素。有人可以解释为什么我的代码不能正常工作吗?

我尝试过其他输入,效果很好。

   'use strict';

   function array_Validator(e1,e2,e3,e4)
   {
       let m_Array=[e1,e2,e3,e4];
       for(let i=0;i<m_Array.length-1;i++)
       {
           for(let x=i;x<m_Array.length-1;x++)
           {
               if(m_Array[i]!==m_Array[x+1])
               {
                   return false;
               }
               else
               return true;
           }
       }
   }


  let u_Result=array_Validator("SS","SS","Ss","Ss");

   console.log(u_Result);

因此,当我输入 Ss 时,它会显示 true 而不是 false。

最佳答案

您需要将 return true 移至函数末尾,并且可以使用单个循环并相互检查第一个元素。

'use strict';

function array_Validator(e1, e2, e3, e4) {
    let m_Array = [e1, e2, e3, e4];
    for (let i = 1; i < m_Array.length; i++) {
        if (m_Array[0] !== m_Array[i]) return false;
    }
    return true;
}


let u_Result = array_Validator("SS", "SS", "SS", "Ss");

console.log(u_Result);

关于javascript - 函数在迭代中返回 True 而不是 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56385225/

相关文章:

c++ - 没有运算符 "<<"匹配这些操作数(可变长度数组)

javascript - 捕获单元测试所需属性的 Vue.js 警告

javascript - 在点击处理程序中调用函数,而不是运行

javascript - 尝试在 SVG 路径上为飞机制作动画

javascript - 使用 Javascript 和样式显示属性显示基于复选框值的 div

php函数内爆调整

java - 二维数组查找随机空值

javascript - 从手机上传的图像方向不正确

python - 将元组列表混合并迭代到文本模板中

javascript - JavaScript 数组如何具有非数字键?