我有这段代码
var a = ['a', 'b', 'c'];
var b = ['a', 'd', 'b', 'c'];
for (var i = 0; i < a.length; i ++) {
if (a[i] === b[i]) {
alert('ok');
}
}
我怎样才能跳过数组b
'd'
元素,所以它总是提醒我?
已更新
我只是想知道如何跳过某些索引。我的意思是如果我不想查看我为0
编写的索引(var i = 1; i < a.length; i ++)
,如果我不想检查最后一个索引,我会a.length-1
,但我如何跳过索引,如果它不是第一个/最后一个?
答案 0 :(得分:2)
来自您的澄清评论:
我只是想知道如何跳过某些索引。我的意思是如果我不想查看索引0我写
for (var i = 1; i < a.length; i ++)
,如果我不想查看最后一个索引,我会a.length-1
,但我如何跳过索引,如果它不是第一个/最后一个?
它比其中任何一项工作更多:在[{1}}上使用时,您需要检查i
是否是>=
要跳过的索引:
b
密钥有var a = ['a', 'b', 'c'];
var b = ['a', 'd', 'b', 'c'];
for (var i = 0; i < a.length; i ++) {
if (a[i] === b[i >= 2 ? i + 1 : i]) {
alert('ok');
}
}
,表示&#34;如果b[i >= 2 ? i + 1 : i]
为2或更高,请使用i
;否则,请使用i + 1
。
当然,假设i
比b
长一个;如果不是,最后a
将导致b[i >= 2 ? i + 1 : i]
。
或者,使用两个循环。或者两个索引为Jonas w suggested。
答案 1 :(得分:0)
您需要两个指数:
var a = ['a', 'b', 'c'];
var b = ['a', 'd', 'b', 'c'];
for (var i = 0,j=0; (i < a.length) && (j<b.length); i ++,j++) {
if(b[j]==="d"){
j++;//skip
}
if (a[i] === b[j]) {
alert('ok');
}
}