1
私はSwift 4、Xcode 9を使用しています。[((Int、String)]]を[(Int、String)]に結合するエレガントな方法ですか?
特に、私は配列[[ .joined(セパレータ: ";")を使用します。
データは次のようになります。
[[1,"My Name;Item1;Item2"], [(5,"My Name;Item2;Item3"), (3,"My Second Name;Item1")]]
私はなるように内側の配列を組み合わせたい:
- のIntは名前に基づいて一致するアイテムを追加します(最大「;」)
- 文字列は、私の上記の例べきリットルを組み合わせる
を、後続の項目を追加しない場合は、既に存在これまでにead:
[(6,"My Name;Item1;Item2;Item3"), (3,"My Second Name;Item1")]
Ie.入力は[[(Int, String)]]
で、出力は[(Int, String)]
です。現在、かなり複雑なループによってこれを達成できます。データセットが大きいと、パフォーマンスが著しく低下します。私が要求しているように、これらの配列を組み合わせるエレガントでシンプルな方法はありますか?
ありがとうございました!
これは私のロジックをリダイレクトするために幻想的で、それ以上のものに見えます。私は一度テストすると正しいとマークします。 – Coltuxumab
美しく動作します。私が変えなければならなかったことの1つは戻り要素ランクでした。何らかの理由で、lhs.rank + rhs.rankが文脈がなくてもあいまいであるというエラーを私に与えました。私はlet sum = lhs.rank + rhs.rankをリターンの直前に加え、rankの値としてsumを使用することでこれを修正しました。ありがとうございました! – Coltuxumab