swift 对于ループの中でや继续突破を使用しているのを,过滤に书き换える Posted 2021-05-19
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 对于ループの中でや继续突破を使用しているのを,过滤に书き换える相关的知识,希望对你有一定的参考价值。
let array = [0, 2, 0, 2, 2, 1, 2, 2]
var map = [Int]()
for i in array {
if i == 2 {
map.append(i)
} else if i == 1 {
break
} else {
continue
}
}
print(map) // [2, 2, 2]
let array = [0, 2, 0, 2, 2, 1, 2, 2]
// flatMap({$0})を入れないと、コンパイルエラー
// AnySequenceとArrayで同じprefix()メソッドがあり、どちらを使用するのかが曖昧のため、コンパイルエラーになる
let map = array.prefix(while: {$0 != 1}).flatMap({$0}).filter( {$0 == 2} )
print(map) // [2, 2, 2]
// filterの中で何かして、結果に反映するかの判断するには、このようにすることができる
// つまり、continueを使用していたところは、return falseにすることができる
let map = array.prefix(while: {$0 != 1}).flatMap({$0}).filter( {
if $0 == 2 {
return true
} else {
return false
}
} )
print(map) // [2, 2, 2]
以上是关于swift 对于ループの中でや继续突破を使用しているのを,过滤に书き换える的主要内容,如果未能解决你的问题,请参考以下文章
EXIT,CONTINUE,CHECK(ロープの終了)
python aud取し取得した音量をOSCを使ってデータを送る.2つのマイクをコールバック关数にIDを返すことで识别している。
csharp 图片框の中で余白を考虑して计算
ruby 缲り返し处理の中でカウンターを使う,カウンターの初期値を指定する
scss 170919菜单内の修复しているnavをスクロール
sh あるキーワードを含むファイル,を使用しているファイルを検索する