javascript - 函数在迭代中返回 True 而不是 False
问题描述
我在 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 时,它是真而不是假。
解决方案
您需要移动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);
推荐阅读
- node-red - Node-red,如何在 HTML 脚本中获取流上下文变量
- amazon-web-services - lambda 函数 IAM 角色是否需要 IAM 权限才能调用自身?
- google-sheets - 谷歌表格函数 - 逻辑
- keras - TensorFlow 2-tf.keras:如何使用 tf.data API 和 TFRecords 训练 tf.keras 多任务网络,如 MTCNN
- java - Java:如何在使用 Executorservice 和未来的计时器时打破循环?
- python - 我怎样才能组合熊猫 GroupBy 的组?
- function - 更深层次的函数调用或同级调用
- machine-learning - 使用像 PSO 这样的元启发式算法训练神经网络是如何工作的?
- javascript - BigBlueButton 自定义 HTML 5 客户端
- python - RuntimeError:大小不匹配,m1:[4 x 784],m2:[4 x 784] 在 /pytorch/aten/src/TH/generic/THTensorMath.cpp:136