如下所示,我希望通过类似<div id="togglemenu2" class="sidetogglemenu">
<table class="hoverTable">
<tbody>
<tr>
<td>Example</td>
</tr>
<tr>
<td>
<div class="logowrap">
<img class="gpablogo" src="http://s2.postimg.org/yb2yzb5fd/gpab.png">
<div class="gpab n1">1</div>
<div class="gpab n2">2</div>
<div class="gpab n3">3</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
break
答案 0 :(得分:74)
forEach
不是循环(它是传递给循环的块,而不是循环本身),或者更确切地说,forEach
不是Swift 控制流的一部分。这就是您无法使用break
或continue
。
只需使用for-in循环。
示例:
var numbers = [ 1,2,3,4]
func firstEvenNumber(inArray array: [Int]) -> Int? {
var firstMatch : Int?
for number in numbers {
if (number % 2) == 0 {
firstMatch = number
break
}
}
return firstMatch
}
firstEvenNumber(inArray: numbers) // 2
您可以在return
闭包内使用forEach
,但它不会中断循环,只有返回当前的块通过。
var numbers = [ 1,2,3,4]
func evenNumbers(inArray: [Int]) -> [Int] {
var matches : [Int] = []
numbers.forEach{
if $0 % 2 == 0 {
matches.append($0)
return
}
}
return matches
}
evenNumbers(numbers) // [2,4]
答案 1 :(得分:9)
该文件已经解释过。
sqrt
但你想尝试一下。
$scope.persons = [];
// Master Object
var masterPerson = {
data: {
firstname: "",
lastname: ""
}
};
// When doing the ng-click event. This will allow you to use some default data
$scope.addNewPerson = function(newPerson) {
newPerson = angular.merge(angular.copy(masterPerson), newPerson);
$scope.persons.push(newPerson);
};
答案 2 :(得分:4)
实际上,最好的方法是:
numbers.first { (number) -> Bool in
return number % 2 == 0
}
如果您要唯一的第一个数字,请确定。据我从问题中了解到,这就是您需要“中断”的目的。
如果您需要所有数字,请使用:
numbers.filter { $0 % 2 == 0 }