javascript - 我正在尝试编写一个函数 isUniform()
问题描述
该函数应该接受一个数组,并将数组中的第一项与其他项进行比较。最终,如果数组中的所有项目都相同,它应该在控制台上打印“True”,否则打印“False”。我的函数执行以下操作:
function isUniform(list) {
var firstItem = list[0];
for (var i = 0; i <=list.length; i++){
i++
if(firstItem === list[i]){
console.log("True");
}else {
console.log("False");
};
};
}
input:
isUniform(['a','a','a'])
**********************
output:
VM512:6 True
VM512:8 False
你能给我一些关于我应该改变什么的见解吗?
解决方案
您尝试实现的正确算法是:
function isUniform (list) {
var firstItem = list[0];
for (var i = 0; i < list.length; i++){
if (firstItem === list[i]) {
console.log("True");
} else {
console.log("False");
};
};
}
isUniform(['a','a','a'])
你不需要i
在你的 for 循环中增加你的,循环已经这样做了。而且您需要迭代直到i < list.length
,而不是i <= list.length
,这就是为什么false
最后得到日志的原因,您不在数组中。所以条件是firstItem === undefined
。
推荐阅读
- spring-boot - Spring 不会在 JAX-RS 定义的子资源中注入依赖项
- microsoft-graph-api - 我们如何以编程方式生成 MS Teams 代码
- php - 在 PHP 中每隔几秒更改一次文本
- jquery - 根据评论后jquery反向添加列表
- java - Animation 方法中的 NullPointerException 问题
- swift - 从上到下的动画 swift 5
- excel - Excel VBA 在使用循环运行宏后没有响应
- qt - qt - 使用 QPainter 实例化绘图
- javascript - react + firebase unsubscribe 不是 useEffect 中的功能
- ssh - 通过跃点服务器挂载 NFS 共享