Javascript数组:如何检查两个连续单词是否相同
Javascript array: How to check if two consecutive words are the same?
我希望我的程序检查数组中是否有任何两个连续的单词相同。我相信我的"if"语句是正确的,但是console.log显示所有连续的单词都匹配。我在这里错过了什么?
感谢您的帮助!我对这个东西不熟悉:)
var wordArray = ["blue", "green", "yellow", "red", "red", "blue", "blue", "yellow"]
for (i=0; i<wordArray.length - 1; i++) {
if (i === i+1); {
console.log("We have a match!");
} //Why is this loop saying that all items in the array are equal?
}
试试这个。您检查的是索引,而不是数组的元素,旁边是错误的if语句。
for (i = 0; i < wordArray.length - 1; i++) {
if (wordArray[i] === wordArray[i + 1]) {
console.log("We have a match!");
}
}
如果数组只有一个元素长,这只是一个更好的长度处理提示:
for (i = 1; i < wordArray.length; i++) {
if (wordArray[i - 1] === wordArray[i]) {
console.log("We have a match!");
}
}
试试这个,
var wordArray = ["blue", "green", "yellow", "red", "red", "blue", "blue", "yellow"]
for (i=1; i<wordArray.length; i++) {
if (wordArray[i] === wordArray[i-1]) {
console.log("We have a match!");
}
}
看起来您实际上是在将代码中的索引var"i"与"i+1"进行比较,结果控制台显示数组中的所有项都相等。由于您实际上是在比较索引var,您的Javascript将其显示为:
if(1 === 2)
console.log("We have a match");
由于您实际上想要比较wordArray的内容:
if(wordArray[i] === wordArray[i + 1])
console.log("We have a match!");
这里需要记住的重要一点是,当使用"for"循环时,索引变量"i"在本例中仅是用于访问数组内容的整数索引。
相关文章:
- 我如何让我的脚本连续提交两个表单
- Chrome:如何在不嵌套的情况下将两个连续跨距插入可编辑实体中
- 正则表达式允许字母数字和空格,但不允许连续两个空格
- 如何使用 jQuery 交换网页中的两个图像(连续两次点击)
- Javascript 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分
- 如何在两个连续的角度服务呼叫期间中止/取消第一个呼叫的承诺
- 两个javascript网络工作者连续打印输出-为什么不同时打印呢
- 如何使用node.js的readline模块获取两个连续的输入
- 如何在两个连续的图像之间插入黑色空格
- 同一形式的两个素数面板不能通过javascript连续关闭
- 如何在ng重复的情况下同时获取两个连续的数组对象
- 两个连续的java脚本日期选择器函数
- Javascript数组:如何检查两个连续单词是否相同
- 带有两个连续自动执行的匿名函数的TypeError
- JS插入两个连续的文本节点在一个跨度不当时,不在调试模式
- 在JavaScript中连续播放两个文件
- jQuery不能正确打开两个连续的模态对话框
- Regex用于在8个字符的字符串中搜索连续的两个数字和字母
- D3.js删除两个元素匹配属性时,连续单击
- 如何查找两个连续请求之间经过的时间