私はインデックス3で、インデックス1にある項目を削除したいアレイ迅速な配列から複数の項目を削除するにはどうすればよいですか?例えば
var array = [1, 2, 3, 4]
を持っている「ことがforループになりましょう」 しかし、インデックス1にある項目を削除すると、インデックスにある項目を移動します任意の提案2を指数化する3?
私はインデックス3で、インデックス1にある項目を削除したいアレイ迅速な配列から複数の項目を削除するにはどうすればよいですか?例えば
var array = [1, 2, 3, 4]
を持っている「ことがforループになりましょう」 しかし、インデックス1にある項目を削除すると、インデックスにある項目を移動します任意の提案2を指数化する3?
を削除
var numbers = [1, 2, 3, 4]
、あなたが
let indexesToRemove: Set = [1, 3]
を削除するインデックスの
Set
あなたが値を削除したいです「2」および「4」。
だけ
numbers = numbers
.enumerated()
.filter { !indexesToRemove.contains($0.offset) }
.map { $0.element }
結果
print(numbers) // [1, 3]
スウィフト3書き込み:同じ操作を実行する使用迅速な閉鎖を。
あなたの配列は
var numbers = [0, 1, 2, 3, 4, 5]
、あなたが
let indexesToBeRemoved: Set = [2, 4]
numbers = numbers
.enumerated()
.filter { !indexesToRemove.contains($0.offset) }
.map { $0.element }
and result
のようなものである場合プリント(数字)を削除したいのインデックス// [0、1、3、5]
スイフト3: JSONオブジェクト(辞書)
var arrayString = [
[ "char" : "Z" ],
[ "char" : "Y" ],
[ "char" : "X" ],
[ "char" : "W" ],
[ "char" : "V" ],
[ "char" : "U" ],
[ "char" : "T" ],
[ "char" : "S" ]
]
let arrayIndex = [2, 3, 5]
arrayString = arrayString.enumerated()
.filter { !arrayIndex.contains($0.0 + 1) }
.map { $0.1 }
print(arrayString)
[[ "CHAR": "Z"]、[ "CHAR": "W"]、[ "CHAR": "U"]、[ "名前": 「T」]、[「名前」: 「S」]]
Swift 3で同じ例を使用する方法を知っている可能性はありますか? – Raffi
@ラッフィー:はい私の答えにスウィフト3のコードを追加しました –
おかげで私はそれを自分のやり方にしようとしていましたが、うまくいかなかったと思います。 – Raffi