名簿の並べ替えをやってみよう
https://codeiq.jp/ace/yanai_masakazu/q528
実行速度とか考えずに、パッパっと書いたコードです。
function yourCode(obj, key) { // 漢字と読みのペアを読みでソートします var pairs = getPairs_(obj.kannji, obj.yomi).sort(function(a, b) { return a.yomi > b.yomi; }); // ソートしたペアの配列から漢字と読みを // それぞれの配列にして返します return { kannji: pairs.map(function(value) { return value.kannji; }), yomi: pairs.map(function(value) { return value.yomi; }) }; // 2つの配列から同じ添字の値を // ペアとした配列を生成して返します function getPairs_(kannjiArray, yomiArray) { var result = [], i; // 配列の長さが異なっていた場合は例外をスローします if (kannjiArray.length !== yomiArray.length) { throw new RangeError('array length not to match'); } i = kannjiArray.length; while (i--) { result.unshift({ kannji: kannjiArray[i], yomi: yomiArray[i] }); } return result; } }