在Javascript中使用indexOf比较变量类型编号和数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Javascript中使用indexOf比较变量类型编号和数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1454字,纯文字阅读大概需要3分钟。
内容图文
![在Javascript中使用indexOf比较变量类型编号和数组](/upload/InfoBanner/zyjiaocheng/822/ee4c43bdc978440499c34074e9c472e8.jpg)
我在按钮上添加了一个click事件监听器.它调用YES和NO按钮.基本上,indexOf检查变量foto中的值是否在yesMeetup数组或notMeetup数组中.
我尝试调试,但我总是得到“你得到它”,当我点击NO按钮时,它不会调用调试器
let foto = Math.floor(Math.random() * 20) + 1;
document.querySelector('.btn').addEventListener('click', verify);
function verify() {
var yesMeetup = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15];
var notMeetup = [16, 17, 18, 19, 20];
var notButton = document.getElementById('no');
var yesButton = document.getElementById('yes');
var decisao = document.getElementById('decisao');
debugger;
if (yesButton) {
if (yesMeetup.indexOf(foto)) {
decisao.textContent = "You got it";
} else if (notMeetup.indexOf(foto)) {
decisao.textContent = "wrong";
}
} else if (notButton) {
if (notMeetup.indexOf(foto)) {
decisao.textContent = "You Gou it";
} else if (yesMeetup.indexOf(foto)) {
decisao.textContent = "Wrong";
}
}
}
解决方法:
if语句将评估作为布尔值传递给它的任何内容.
它不会执行“true”分支的唯一值是所有假值:0,null,undefined,”,false,NaN.
当一个元素不存在于数组中时,Array.prototype.indexOf返回-1,这不是一个假值,因此你的if条件
if (array.indexOf(element))
总是评价为真.
var example = [1,2,3];
if (example.indexOf(4)) {
console.log('still true');
}
您可以使用-1直接比较:
var example = [1,2,3];
if (example.indexOf(4) !== -1) {
console.log('this is not logged');
}
或者更新,更清洁,Array.prototype.includes:
var example = [1,2,3];
if (example.includes(4)) {
console.log('this is not logged');
}
内容总结
以上是互联网集市为您收集整理的在Javascript中使用indexOf比较变量类型编号和数组全部内容,希望文章能够帮你解决在Javascript中使用indexOf比较变量类型编号和数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。