javascript 配列 オブジェクト 並び替え

必ず忘れるので。
割と柔軟性が高くてべた書きでもかまわない場合はよく利用。

items.sort(
   function(a,b) {
      var aKey = a["ItemKey"];
      var bKey = b["ItemKey"];
      if( aKey > bKey ) return 1;
      if( aKey < bKey ) return -1;
      return 0;
   }
);

具体的に中身がわかっている場合はより詳細にも書ける。
これはオブジェクトの中身が配列でそのなかのプロパティーを参照している形。
さらにその値を加工して比較。
IPアドレスの24ビット以降を比較するとかに使ってみました。

items.sort(
   function(a,b) {
      var aKey = a["ItemKey"][0]["ItemKey2"];
      var bKey = b["ItemKey"][0]["ItemKey2"];
      var arrayOfStringsA = aKey.split('.');
      var arrayOfStringsB = bKey.split('.');
      var aKey24b =  Number(arrayOfStringsA[3]);
      var bKey24b =  Number(arrayOfStringsB[3]);
      if( aKey24b > bKey24b ) return 1;
      if( aKey24b < bKey24b ) return -1;
      return 0;
   }
);

Check Also

RouterOSでのipipv6トンネルについて

フレッツ光クロスでMikroT …