行列入替(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; }