我有这段代码:
let items = ["A", "B", "C"];
let desc = ["a 1", "b 2", "c 3"];
let args = "1 b 2 3";
let query = args.split(" ");
let i2;
let i;
console.log("Search query: " + args);
for (i = 0; i < items.length; i++) {
for (i2 = 0; i2 < query.length; i2++) {
if (items[i].toLowerCase().indexOf(query[i2].toLowerCase()) > -1 || desc[i].toLowerCase().indexOf(query[i2].toLowerCase()) > -1) console.log(items[i]); return;
}
};
当if评估为for
时,我想停止孩子true
,但我不知道该怎么做。
当前输出:A
期望的输出:A B C
使用break
输出:A B B C
答案 0 :(得分:1)
要摆脱循环,请使用break关键字
break语句终止当前的循环,开关或标签语句,并将程序控制转移到终止语句之后的语句。
let items = ["A", "B", "C"];
let desc = ["a 1", "b 2", "c 3"];
let args = "1 b 2 3";
let query = args.split(" ");
console.log("Search query: " + args);
for (let i = 0; i < items.length; i++) {
for (let i2 = 0; i2 < query.length; i2++) {
if (
items[i].toLowerCase().indexOf(query[i2].toLowerCase()) > -1
|| desc[i].toLowerCase().indexOf(query[i2].toLowerCase()) > -1
) {
console.log(items[i]);
break;
}
}
}
答案 1 :(得分:-1)
像这样,但您的代码中还有其他问题。
let items = ["A", "B", "C"];
let desc = ["a 1", "b 2", "c 3"];
let args = "1 b 2 3";
let query = args.split(" ");
let i2;
let i;
for (i = 0, len = items.length; i < len; i++) {
var breakChildLoop = false;
for (i2 = 0; i2 < query.length || !breakChildLoop; i2++) {
if (items[i].toLowerCase().indexOf(query[i2].toLowerCase()) > -1 || desc[i].toLowerCase().indexOf(query[i2].toLowerCase()) > -1) {
breakChildLoop = true;
console.log(items[i]);
}
}
};