Bランクレベルアップメニュー【複数行の入力と出力・配列要素の合計・5以上か4以下か・配列データの足し合わせ・5以上の整数の合計 ほか】
Task
【インクリメント】コード
reader.on('close', () => {
let n = Number(lines[0]);
n++; // n += 1
console.log(n);
});
n の値を n + 1 で上書きして出力しました。
Task
【複数行の入力と出力】コード
reader.on('close', () => {
const n = Number(lines[0]);
for (let i = 1; i <= n; i++) {
console.log(parseInt(lines[i])); // 入力を受け取りながら出力
}
});
n 個の入力を for文 で 受取りながら出力しました。
【配列(リスト)要素の合計】コード
const A = [1, 3, 5, 6, 3, 2, 5, 23, 2];
console.log(A.reduce((a, c) => a + c)); // 配列 A の全ての値を足し合わせてた値を出力
A.reduce((a, c) => a + c)
を実行すれば 配列 A の全ての値を足し算した値を返してくれます。とほほ様の解説を参照しました。
【5以上か4以下か】コード
reader.on('close', () => {
const n = Number(lines[0]);
console.log(n >= 5 ? 'high' : 'low'); // n >= 5 が true なら "high" false なら "low");
});
条件 (三項) 演算子で 出力内容を制御しました。
【配列(リスト)データの足し合わせ】コード
const A = [4, 0, 5, -1, 3, 10, 6, -8];
let ans = 0; // 出力値を 0 で初期化
A.forEach(a => {
if (a >= 5) { // 5 以上なら…
ans += a; // ans に a を加算
}
});
console.log(ans);
forEach()
で A の値にアクセスしながら 5以上のときのみ ans に 加算しました。
【5以上の整数の合計】コード
reader.on('close', () => {
const n = Number(lines[0]);
let ans = 0; // 出力値を 0 で初期化
for (let i = 1; i <= n; i++) {
const a = Number(lines[i]); // 入力を受取り
if (a >= 5) { // 5 以上なら…
ans += a; // ans に a を加算
}
}
console.log(ans);
});
A の値を入力から受け取っている以外は【STEP: 5】と同じでした。
コメント