とりあえず動作確認したものを抜粋して置いておきます.
reader.on('close', () => {
const N = lines[0];
// 個人の財産
const person = [];
for (let i = 0; i < N; i++) {
const [g, s] = lines[i + 1].split(" ");
person.push({ g, s });
}
// ソート
person.sort((a, b) => {
if (a.s === b.s) {
return b.g - a.g;
}
return b.s - a.s;
});
person.forEach(p => console.log(`${p.g} ${p.s}`));
});
読み取ったデータに対し,シンプルに1人分のデータを1つのオブジェクト{g, s}
にしてperson
に格納しています.
略記していますが{g, s}
は{g: g, s: s}
と等価です.
中身はa.g
のようにkeyを指定すれば取り出せるので,あとはsort
内で同じkey同士を比較してやればいいです.
sort
は元の配列を変更するため取扱注意です.