Corredorスマートフォン用の表示で見るCorredorウェブ、プログラミングの勉強メモ。使って、連想配列の複数のプロパティを見てソートする方法を勉強した。対象データ対象となるデータは、以下のようなモノ。その会社の商品名だと思って欲しい。(今回はあくまで一例なので、詳細なモデル名までは記していない)。製品名順に並び替えたい、というのが今回の趣旨。行うと、以下のようにソートしてくれる。第1引数に独自の比較ロジックを関数で与えると、並び替えのやり方を変えられる。0;});さて、コレを実行すると、以下のようになる。隣り合う要素を持ってきていることが分かる。してやることで、並び順が変えられる。返すようにしたので、結果が降順ソートになっている。大小比較しているので、人間が思うような結果が得られない。そこで、各要素からプロパティを取り出し、その値を比較してソートしてやろう。対象の要素を直接並び替える。ようにコピーした配列を返すワケではなく、元の配列に破壊的変更を加える関数なので留意。関数のカスタマイズということで、まずは製品名だけを見てソートするよう、比較関数を与えてやる。内部の動きが追いやすいよう、今回もコンソール出力させてみる。ソート結果');console.log(guitars);結果は以下のとおり。}]長ったらしいが、要素数20個の配列に対し、64回に渡って比較関数が実行され、製品名でソートできた。始まる値で並んでいるのが分かるだろう。複数の項目を見てソートするには?さて、今回やりたいのは、「まず会社名別にソートして、1つの会社内の製品もソートする」という要件だ。コレを実現するには、以下のように実装する。0;});コレを実行すると、以下のようになる。会社名での比較も入れたので、ソート中の動きが変わっている。結果は、狙ったとおり、会社名別に「E・F・G・S...」始まりで並び、会社内の製品も「L・S...」「J・M・S・T...」始まりで上手くソートされているのが分かる。使ってのソートも、比較的簡単に実装できることが分かった。»ProfileNeoウェブ・プログラミングの勉強メモ。PagesBookmarkTwitterFacebookPocketスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。