您的位置:首页 > Web前端 > JavaScript

Javascript怎么跳出循环,嵌套循环。

2017-04-25 15:05 10 查看
今天要实现一个功能,在数组a中的每一项,对应数组b中的每一项,如果对应上了就给数组b的checked增加ture属性,如果查找不到就给数组b的checked增加false属性。

如果有哪里写的不对欢迎高手私信给我,本着互联网的分享精神。

思路一

一开始想到的思路是如果当前b[index]如果不存在checked=true的话就添加false属性。 但是这样有一个弊端就是会浪费很多次循环,所以我需要寻找一种跳出循环的方法。

var a = [1, 2]
var b = [{id: 1}, {id: 2}]
for (var i = 0; i < b.length; i++) {
for (var n = 0; n < b.length; n++) {
if (a[i] === b
.id) {
b
.checked = true
} else if(b
.checked!==true) {
b
.checked = false
}
}
}
console.log(b)


跳出循环方法

讲解: x就相当于打了一个标记。如果有满足条件的话就break x; (x的命名自己更改)就相当于跳出本次的循环,但是外层的i循环不受影响继续他的循环。虽然结果是一样的,但是却剩下了一点资源 何乐而不为呢。

var a = [1, 2]
var b = [{id: 1}, {id: 2}]

for (var i = 0; i < b.length; i++) {
x:
for (var n = 0; n < b.length; n++) {
console.log(i,n)
if (a[i] === b
.id) {
b
.checked = true
break x;
} else if(b
.checked!==true)  {
b
.checked = false
}
}
}
console.log(b)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: