行列入替(hashMatrixChange)
もう一度、行列入替(hashMatrixChangeRev)
関数
/**
* 連想配列オブジェクトの行列入替(縦横入替)
* @param hash 連想配列オブジェクト
* @return 行列が入れ替わった連想配列
*/
function hashMatrixChange(hash){
var obj={};
for(var k in hash[0]){
obj[k]={};
}
for(var i in hash){
var ent=hash[i];
for(var k in ent){
var v=ent[k];
obj[k][i]=v;
}
}
return obj;
}
/**
* 連想配列オブジェクトの行列入替(縦横入替)リバース
* @param hash 連想配列オブジェクト
* @return 行列が入れ替わった連想配列
*/
function hashMatrixChangeRev(hash){
var obj={};
var fk='';
for(var k in hash){
fk=k;
break;
}
for(var i in hash[fk]){
obj[i]={};
}
for(var k in hash){
var list=hash[k];
for(var i in list){
var v=list[i];
obj[i][k]=v;
}
}
return obj;
}