I持って私の遊び場で、次のコード:インデックス/コレクション
let array = [3,3]
let first = array.first!
let last = array.last!
let indices = [array.index(of: first)!, array.index(of: last)!]
print(indices) // This prints [0,0]
私は「インデックス(の:)」方法だけ配列から最初に一致するインスタンスをつかむことを理解し、これはより効率的ですが、私は "array.last"から値を得ているという事実に基づいて最後のインデックスを取得する方法があるのだろうかと思います。
は、私は以下の持っていた場合にはさらに、:
let lotsOfThrees = [3,3,3,3,3,3,3]
let fourthThree = lotsOfThrees[3]
// Write code to return the index of "fourthThree" (possibly based on memory address)
をメモリアドレスに基づいてこれを行う方法がある場合、私は思ったんだけど、正直なところわかりません。
私はあなたがやろうとしているのか理解していません。 "fourthThree"のインデックスは "3"です - あなたはすでにそれを持っています。同様に、最初のコードでは、最初の3のインデックスは '0'で、最後のインデックスは' array.count-1'です。 '3'は値なので、配列には特定の" 3 "はありません。彼らはすべて同じです。 – Paulw11
まあ、私は参照をつなぎ合わせる方法があるのだろうかと思っています。他の操作を実行したり、これらの値を関数に渡して、 "fourthThree"がインデックス3であることがわからない場合は、メモリアドレスが3であることがわかります。 "lotsOfThrees"配列の4番目のオブジェクトにそれを関連付ける方法はありますか?ライブラリー機能を使用することが好ましい。私は基本的にarray.lastを渡して、array.firstと同じ値を持っているかどうかを区別できるライブラリ関数があるかどうかを知りたがっています。 – RDSpinz
なぜこれが必要ですか?あなたは実際にこれで解決しようとしている問題は何ですか? – rmaddy