!slug 1336

!date 2014/04/03

!draft false

!tags AngularJS,GoInstant,JavaScript,ng-repeat,orderBy

!! AngularJSのng-repeatに以下のようにorderBy書くとソートしてくれます。 便利!※’-age’を’age’にすれば昇順になったりします。だけどloopするオブジェクトがArrayじゃないとソートされない。Javascriptの言葉の定義をちゃんと知らないので誤解のないようにソースコードで示すと以下の通り。以下はソートされる(Array?)…

AngularJSのng-repeatに以下のようにorderBy書くとソートしてくれます。

便利!

※’-age’を’age’にすれば昇順になったりします。

だけどloopするオブジェクトがArrayじゃないとソートされない。

Javascriptの言葉の定義をちゃんと知らないので誤解のないようにソースコードで示すと以下の通り。

以下はソートされる(Array?)

$scope.friends =
  [{name:'John', phone:'555-1212', age:10},
   {name:'Mary', phone:'555-9876', age:19},
   {name:'Mike', phone:'555-4321', age:21},
   {name:'Adam', phone:'555-5678', age:35},
   {name:'Julie', phone:'555-8765', age:29}]

以下はソートされない(普通のObject?)

$scope.friends = {
	'0':{name:'John', phone:'555-1212', age:10}, 
	'1':{name:'Mary', phone:'555-9876', age:19}, 
	'2':{name:'Mike', phone:'555-4321', age:21}, 
	'3':{name:'Adam', phone:'555-5678', age:35}, 
	'4':{name:'Julie', phone:'555-8765', age:29}
}

こんなデータあるのかと思うけど結構あります。

GoInstantでKeyとか扱うと多いです。