IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

前の記事は間違っていました。申し訳ありません。という訳で、改めて別の IE のオブジェクト配列のソート高速化。

でも、基準値が整数 & 65536 以下の場合限定です><

しょぼいですね><

以下のようにプロパティ値で並び替えたいとする。

var Klass = function(order) {
  this.order = order
};

var array = [new Klass(3), new Klass(1), ....];

array.sort(function(a, b) {
  return a.order - b.order
});

こうすると、 10 倍近く速くなる

var Klass = function(order) {
  this.order = order;
  var _order = String.fromCharCode(order);      // ここを追加
  this.toString = function() { return _order }; // ここを追加
};

var array = [new Klass(3), new Klass(1), ....];

array.sort(); // ここで関数を渡さないようにする

でもあんまり使えないっすね><

すみません><