2017-06-12 10 views
-4

アレイをフィルタリングするためのヘルプが必要です。任意の助けアレイ内のマップフィルタ

arraySeperated1 = [part1: "TZS", part1:"TZFD", part1: "G"] 
arraySeperated2 = [part2: "SFDT", part2: "TG", part2: "TDDD"] 

ありがとう:

let array = [pair: "TZS_SFDT", pair: "TZFD_TG", pair: "G_TDDD"] 

にはどうすればいいように二つのオブジェクトに文字のグループを分けることができます!代わりに/文字列の配列としてそれを解釈を確認することです:私はあなたの不正なコード(辞書リテラルが重複キーが含まれてい致命的なエラー):で行うことができますベスト

+0

これらすべてが 'Dictionaries' **ではない配列です。**スウィフトで –

+0

、[:]構文は辞書や辞書のためであるだけでユニークなキーを持つことができます。したがって、 'pair:'は2回以上宣言することはできません。 'part1:'と同じですが、複数回返すことはできません。 –

+0

だから、私は辞書のフィルタリングに助けが必要です。 –

答えて

0

let array = ["TZS_SFDT", "TZFD_TG", "G_TDDD"] 

そして、それを分割する:

let arraySeparated1 = array.map { $0.substring(to: $0.range(of: "_")!.lowerBound) } 
let arraySeparated2 = array.map { $0.substring(from: $0.range(of: "_")!.upperBound) } 

OKは、コメントからの明確化した後、あなたが実際に得た:

let array = [[pair: "TZS_SFDT", description: "", Value: 0], 
      [pair: "TZFD_TG", description: "", Value: 0], 
      [pair: "G_TDDD", description: "", Value: 0]] 

ですからとして分割:

let arraySeparated1 = array.map { ["part1":$0.pair.substring(to: $0.pair.range(of: "_")!.lowerBound)] } 
let arraySeparated2 = array.map { ["part2":$0.pair.substring(from: $0.pair.range(of: "_")!.upperBound)] } 
+0

ありがとうございます!これはまさに私が探していたものでした。 最後の残りの問題は、ペア値に依然として引用符が含まれていることです。ペアのように: "\" TZS_SFDT \ "" さらに引用符を削除する方法はありますか? –

+0

私のソースの問題ですが、この手順でもこれを解決することは素晴らしいことです。 –

+0

Cœur:なぜそれは違法ですか? – Mozahler

関連する問題