[解決済み] Swiftで配列の項目を新しい位置に並べ替えるには?
2023-06-02 19:03:25
質問
配列
[1,2,3,4]
. 配列の項目を新しい位置に並べ替えるにはどうしたらよいでしょうか。
例えば
put 3 into position 4 [1,2,4,3]
put 4 in to position 1 [4,1,2,3]
put 2 into position 3 [1,3,2,4]
.
どのように解決するのですか?
Swift 3.0以上です。
let element = arr.remove(at: 3)
arr.insert(element, at: 2)
と関数形式で
func rearrange<T>(array: Array<T>, fromIndex: Int, toIndex: Int) -> Array<T>{
var arr = array
let element = arr.remove(at: fromIndex)
arr.insert(element, at: toIndex)
return arr
}
Swift 2.0です。
これで3の位置が4になりました。
let element = arr.removeAtIndex(3)
arr.insert(element, atIndex: 2)
一般的な関数を作ることもできます。
func rearrange<T>(array: Array<T>, fromIndex: Int, toIndex: Int) -> Array<T>{
var arr = array
let element = arr.removeAtIndex(fromIndex)
arr.insert(element, atIndex: toIndex)
return arr
}
は
var
arr
を指定しないと入力パラメータを変更できないため、ここでは
in-out
. しかし、この場合、副作用のない純粋な関数が得られるので、私の意見では、より簡単に推論することができます。
そして、このように呼び出すことができます。
let arr = [1,2,3,4]
rearrange(arr, fromIndex: 2, toIndex: 0) //[3,1,2,4]
関連
-
[解決済み] Angular 2のTypeScriptで配列にフィルタをかけるには?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] 配列を値でコピーする
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
-
[解決済み] PHPで配列の任意の位置に新しい項目を挿入する
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み] Angular 2とTypeScriptで2つのオブジェクト配列をマージする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Angular 2のTypeScriptで配列にフィルタをかけるには?
-
[解決済み] SwiftでUInt8バイト配列を文字列に変換する方法
-
[解決済み] Ruby: ハッシュの配列で Enumerator を取得しようとすると nil:NilClass の未定義メソッド `[]' が発生する。
-
[解決済み] arrayfunはmatlabの明示的なループよりかなり遅くなることがあります. なぜでしょうか?
-
[解決済み] MongoDB: 配列内のインデックスで参照されるサブ要素を更新するには?
-
[解決済み] Postgresでjson配列を行に変換する方法
-
[解決済み] Swiftで配列のすべてのメンバーを同じ値で初期化する方法は?
-
[解決済み] コマンドの出力を配列に代入する方法を教えてください。
-
[解決済み] Goで配列をシャッフルする
-
[解決済み] リストにない最小の整数を求める