JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
Q&A
解決済
3回答
1140閲覧
総合スコア5
1グッド
1クリップ
投稿2019/11/13 06:31
1
Javascriptの配列の並び替えの質問です。 下記のように配列をつくり3があったら必ず先頭にくるように書き出したいです。 それ以降は昇順に並び替えたいときどのようにしたらよいでしょうか。 ary =[1,2,3,4,5]
※3,1,2,4,5に並び替えたい。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答3件
0
パッと思いつくものだと
こんな感じですかね。
投稿2019/11/13 06:41
総合スコア5158
ベストアンサー
こんにちは
以下を比較関数としたソートを実行すればよいかと思います。
javascript1// 3が最小になる順序関係を定義する比較関数 2const compare = (a, b) => { 3 if (a === 3) return -1; 4 if (b === 3) return 1; 5 return a - b; 6}
javascript
1// 3が最小になる順序関係を定義する比較関数 2const compare = (a, b) => { 3 if (a === 3) return -1; 4 if (b === 3) return 1; 5 return a - b; 6}
別の方法を挙げます。(与えられた配列を data とします。)
data
[ ...data.filter(e => e === 3), ...data.filter(e => e !== 3).sort((a,b) => a - b) ]
投稿2019/11/13 06:45
総合スコア9058
回答へのコメント
2019/11/13 11:19
2019/11/13 12:50
javascript1var ary =[1,2,3,4,3,5] 2ary.sort((x,y)=>(ret=-(x==3)+(y==3))?ret:x-y); 3console.log(ary);
1var ary =[1,2,3,4,3,5] 2ary.sort((x,y)=>(ret=-(x==3)+(y==3))?ret:x-y); 3console.log(ary);
投稿2019/11/13 06:46
総合スコア118161
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
Javascript 配列 並び替え
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。