2つのキーで2次元配列をソートする。

ソート前




ソート後


ソースコード

	//サンプルデータ
	var arr = [];
	arr.push(["100", "2014/5/23", "織田"]);
	arr.push(["200", "2014/5/27", "エンリケ"]);
	arr.push(["100", "2014/5/24", "カエサル"]);
	arr.push(["200", "2014/5/26", "ルーズベルト"]);
	arr.push(["200", "2014/5/25", "毛沢東"]);

	//並び替え前出力
	var h=createHtml(arr);
	$("#ret").html(h);


	//★並び替え
	var arr2=arr.sort(funcCompare);

	//並び替え後出力
	var h2=createHtml(arr2);
	$("#ret2").html(h2);


	});

	//★並び替え条件
	function funcCompare(a, b) {
		if (a[0] < b[0]) return -1;
		if (a[0] > b[0]) return 1;
		if (a[1] < b[1]) return -1;
		if (a[1] > b[1]) return 1;
		return 0;
	}


	//出力用に組み立て
	function createHtml(data){
		s='';
		for(i=0;i<data.length;i++){
			var ary=data[i];
			var s2=ary.join('-');
			s+=s2+'<br>';
		}
		return s;
	}