JavaScriptはデータを連続で並べた配列という変数を持たせることができます。配列は文字列や数値とJSONを配列で扱えます。通常の変数では var a = 100と一つの値をセットしますが、配列数値の場合var a = [100, 200, 300]数値をいくつも入れることができます。たくさんのデータが入るJavaScriptの配列には、ソート(sort)という並べ替えできる機能が付いています。数値の場合[9,8,2,6,5,3]という不揃いの配列の場合ソートは下記のように記述します。
var a = [9,8,2,6,5,3] console.log(a.sort())
SafariのJavaScriptコンソール(⌘⌥c)で実行すると下記の結果が出ました。
JavaScript配列ソートは、降順に並び替えることもできます。下記は降順した場合のお例です。
var x = [9,8,2,6,5,3] console.log(x.sort((a,b) => { return (a >= b)? -1: 1 }))
文字列も同じようにソートできます。降順でのコード例です。
var x = ["あいうえお","かきくけこ","サシスセソ"] console.log(x.sort((a,b) => { return (a >= b)? -1: 1 }))
文字列型“あいうえお”の変数を配列に変換した後ソートする場合
var x = "あいうえお" x.split("").sort((a,b) => { return (a >= b)? -1: 1 }).forEach(_elem => { console.log(_elem) })
[].sort((a,b) => {})のa,bは、文字列数値以外のオブジェクトにも使えます。
文字列”あいうえお”を一旦id, valueで構造化し、その後に降順にした例です。
let x = "あいうえお" let y = [] x.split("").sort().forEach((_elem, _index, _my) => { y.push({id: _index, key1: _elem}) }) console.log(y.sort((a,b) => { return (a.id >= b.id)? -1 : 1 }))