私は、ユーザの姓を表す[A, B, B, B, D, G, G, H, M, M, M, M, Z]
のようなアルファベット順の値の配列を持っているとします。私はテーブルインデックスを作成しようとしていますので、このような配列(アルファベットのすべての文字で始まる姓を持つ任意の数のユーザー)を配列に分割する最良の方法は、[A] [B, B, B] [D] [G, G] [H] [M, M, M, M] [Z]
のような配列ですユーザーが姓で区切られた複数のセクションを持つ表の値を作成します。助けてくれてありがとう!Swift:文字列の配列を一致する値の複数の配列に分割する方法は?
答えて
あなたが名前のイニシャルを取得するためにname.characters.first
を使用し、それらを比較することにより、配列の配列を構築することができます
let names = ["Aaron", "Alice", "Bob", "Charlie", "Chelsea", "David"]
var result: [[String]] = []
var prevInitial: Character? = nil
for name in names {
let initial = name.characters.first
if initial != prevInitial { // We're starting a new letter
result.append([])
prevInitial = initial
}
result[result.endIndex - 1].append(name)
}
print(result) // [["Aaron", "Alice"], ["Bob"], ["Charlie", "Chelsea"], ["David"]]
元のアレイをループして、新しいアレイに再構築する必要があります。ここでは例です:
$names = array ('anthony', 'bernie', 'bob', 'hank', 'mary', 'mike', 'steve', 'tom', 'tony');
$new_names = array();
foreach ($names as $name) {
//get first letter of name
$firstletter = substr($name, 0,1);
//test if there is already an array for this letter
//if not, create it
if (!$new_names[$firstletter]) {
$new_names[$firstletter] = array();
}
//add the name to the new array under the correct first letter
array_push($new_names[$firstletter], $name);
}
ニースの答えを助けるホープが、残念ながらこれはPHP :( – jtbandes
ではありませんが、応答をありがとう –
私。!私の頭がPHPで溺れてしまった、あなたが素早く必要であるとは思わなかった –
私はこれを行うには良い方法は、フィルタを使用していると思います。このコードを試してみてください。
var array = ["Aa", "Ab", "Bb", "Cc","d", "DDD"]
let A_array = array.filter({
($0.characters.first == "A" || $0.characters.first == "a")
})
私はスウィフトで答えを探してい
が、それはあなたに
- 1. 配列内の文字列を文字の配列に分割する方法
- 2. 文字列配列の数値を整数配列に分割する
- 3. 文字列を配列に分割する(各文字) - Swift
- 4. 多次元配列を複数の単一配列に分割する方法
- 5. 文字列の配列を単一の整数の2次元配列に分割する方法
- 6. 文字列をPostScriptの配列に分割する方法
- 7. この文字列を配列に分割する方法
- 8. `NSmutableArray`配列配列をチャンクに分割する方法swift 3?
- 9. 文字列をjavascript配列に分割する方法は?
- 10. 文字列の配列から文字列を分割する
- 11. 文字配列をセル配列と行列に分割する
- 12. numpy配列内で文字列を分割する方法は?
- 13. 文字列配列を分割する方法は?
- 14. 文字列配列内で文字列を分割する方法は?
- 15. 文字列の配列が文字列と一致する
- 16. 配列内の複数の値が配列のインデックスに一致する値
- 17. 文字列を文字列に分割する方法C++の2次元配列配列
- 18. 文字列配列に数値を追加するには? Swift
- 19. 100個のJavascriptの複数の文字列に配列を分割する
- 20. 配列を複数の配列/ビンに分割する
- 21. 配列を複数の配列に分割する
- 22. 配列を複数の配列に分割する
- 23. 整数配列の配列の文字列をリスト<int[]>に分割する方法は?
- 24. 部分一致文字列に対するPHPマッチ配列
- 25. Swiftの別の配列に文字列の配列を入れる方法は?
- 26. 文字列を含む配列 - 文字列を分割する方法
- 27. 配列内の文字列を分割
- 28. Javascript-変数の配列から部分文字列への値の一致
- 29. 配列内の一部の文字列が別の配列と一致する
- 30. 配列値を文字列値に分割しますか?
ありがとう、ありがとう。どうすれば 'let initial = name.characters.first'行を修正して、スペースの後の文字を最後の名前)?つまり、私はそれを 'John Doe'の' D 'でソートしたいと思っています –
[この回答]をチェックアウトすることができます(http://stackoverflow.com/questions/25678373/swift-split-a-string-配列への)文字列を空白で分割する方法。 – jtbandes