“if”给了我更多答案..如何才能获得第一名?谢谢大家。 http://jsfiddle.net/TsxBy/
var content = "var=xyz-id=2,var=abc-id=1,var=bcd-id=7,var=abc-id=1,var=hij-id=4,var=xyz-id=2";
content = content.split(',');
for (i = 0; i < content.length; i++) {
var temp = content[i].match(/\d/);
if (temp == '1') {
alert('match 1'); // how to response only first "matched"?
}
if (temp == '2') {
alert('match 2'); // same here
}
}
答案 0 :(得分:2)
我想我理解你的问题了。如果您需要,请查看 fiddle update 。
var content = "var=xyz-id=2,var=abc-id=1,var=bcd-id=7,var=abc-id=1,var=hij-id=4,var=xyz-id=2";
content = content.split(',');
var ctr1 = 0, ctr2 = 0;
for (i = 0; i < content.length; i++) {
var temp = content[i].match(/\d/);
console.log(temp[0]);
if (temp[0] == '1' && ctr1 == 0) {
alert('match 1');
ctr1++;
}
if (temp[0] == '2' && ctr2 == 0) {
alert('match 2');
ctr2++;
}
}
答案 1 :(得分:0)
您的代码正在检查数组的每个元素中的单个整数,从而产生6次迭代检查,其中4次与您的if语句之一具有匹配的数字,这就是您获得的,4次警报。
如果您希望它停止与第一个号码匹配,请在所需的if语句末尾使用 break 。