不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

paizaラーニング『 JavaScript入門編4: 配列の基礎 (全9回) 』を受講してみた

2020-10-18 21:38:06 | paiza
最後に『 JavaScript入門編4: 配列の基礎 (全9回)  』を受講。


01:配列とは何かを学ぼう

  • 配列とは
    • データ構造の一種。まとまったデータを扱う
    • 配列のインデックス(添字)は0から始まる

02:配列を作ろう

  • 配列の定義
    • 配列は[]で定義する
    • 要素はカンマ区切りで記述する

03:配列の要素を取り出してみよう

  • 配列要素へのアクセス
    • 配列の要素には、`配列名[インデックス]`でアクセスできる
    • [!] 配列のインデックスは0から始まる

04:配列を操作しよう

  • 配列の長さ
    • 配列名.length
  • 配列の要素を変更する
    • `配列名[変更したい要素のインデックス] = 新しい要素`で変更できる
  • 配列の末尾に要素を追加する
    • `配列名.push(要素)`で末尾に要素を追加できる

05:ループで配列の要素を処理しよう1

  • for in
    • `for (var 変数名 in 配列名) {`で配列に存在するすべてのインデックスを取得できる
    • [!] 必ずしも0から順番に取得できるとは限らない
for (var index in team) {
 console.log(team[index]);
}
  • for of
    • `for (var 変数名 in 配列名) {`で配列の要素をすべて取得できる
    • ECMA Scriptが使える環境でのみ可能
for (var value of team) {
 console.log(value);
}

06:ループで配列の要素を処理しよう2

  • forEachでの繰り返し
    • `配列名.forEach(変数名 => {`で配列の要素を一つずつ取り出すことができる
    • => は「アロー関数」
team.forEach(value => {
 console.log(value);
});

07:splitで文字列を分割しよう

  • カンマ区切りで文字列を分割する
    • `split(",")`でカンマで区切って配列に変換できる

08:複数行のデータを読み取ろう

  • 標準入力からの複数行の受け取り
    • `reader.on('line', (line) => {`の中で、配列に入力値をpushしていく

09:配列を使ったランダムくじ

  • ランダムな数値の作成
    • `Math.random()`で0〜1未満のランダムな数が生成できる
    • `Math.floor()`で小数点以下切り捨て

感想

特に問題はなさそうだな。
後はちゃんとHTMLの中で使えるかだな。

次はどの講座受講しようかな?

paizaラーニング『 JavaScript入門編3: ループ処理を学ぶ (全8回) 』を受講してみた

2020-10-18 14:26:09 | paiza
『 JavaScript入門編3: ループ処理を学ぶ (全8回) 』を受講


01:条件によるくり返し処理1 - while

  • while文の基本形
// 条件式に使う変数の初期化処理
var count = 0;
while (count
 // 繰り返し処理
 console.log(count);
 // 条件式に使う変数の値の更新
 count = count + 1;
}

02:条件によるくり返し処理2 - while

  • 初期値や条件式の変更
process.stdin.resume();
process.stdin.setEncoding('utf8');

var count = 2;
while (count <= 6) {
 console.log(count);
 count = count + 2;
}
console.log("last:" + count);

03:RPGの攻撃シーンを作る

  • RPG風
process.stdin.resume();
process.stdin.setEncoding('utf8');

var hp = 30;
while (hp > 0) {
 let damage = Math.floor(Math.random() * 10);
 console.log("スライムに" + damage + "のダメージを与えた");
 hp -= damage;
}
console.log("スライムを倒した!");

04:条件によるくり返し処理3 - for

  • for文の基本形
for (var count = 0; count
 console.log(count);
}

05:データの入力方法を理解しよう

  • Node.jsという環境を使い、Webサーバー上で実行
  • プログラム実行の流れ
    • データを入力→プログラムで処理→処理結果を出力
  • データ入力の種類
    • Webサービス/API
    • データベース
    • ファイル
    • キーボード(実行時に指定)

06:標準入力で1行データを受け取ってみよう

  • Node.jsを利用した標準入力からのデータ入力
process.stdin.resume();
process.stdin.setEncoding('utf8');

var input_string = "";
var reader = require('readline').createInterface({
 input: process.stdin,
 output: process.stdout
});
reader.on('line', (line) => {
 input_string = line;
});
reader.on('close', () => {
 var input_int = parseInt(input_string);
 var result = input_int + 100;
 console.log(result);
})

07:標準入力で複数行データを受け取ってみよう

  • Node.jsを利用した標準入力からの複数行データ入力
    • 配列を使用している
process.stdin.resume();
process.stdin.setEncoding('utf8');

var lines = [];
var reader = require('readline').createInterface({
 input: process.stdin,
 output: process.stdout
});
reader.on('line', (line) => {
 lines.push(line);
});
reader.on('close', () => {
 console.log("hello " + lines[0]);
 console.log("hello " + lines[1]);
})

08:西暦年と平成年の対応表を作る

  • 繰り返し処理を使って、西暦年と平成年の対応表を作る
    • 1989年から2018年まで全ての年を出力

感想

難しくはない。


paizaラーニング『JavaScript入門編2: 条件によって処理を変えてみよう (全6回) 』を受講してみた

2020-10-18 13:28:20 | paiza
次は、『JavaScript入門編2: 条件によって処理を変えてみよう (全6回) 』を受講。


01:数値が一致した場合、メッセージを表示

  • if文の基本形
// if文による条件分岐
process.stdin.resume();
process.stdin.setEncoding('utf8');
var number = 1;
if (number == 1) {
 console.log("スキ!"); // 条件式が成立したときの処理
} else {
 console.log("キライ"); // 条件式が成立しなかったときの処理
}

02:複数の条件を組み合わせてみよう

  • if - else if -else  の基本形
// if文による条件分岐
process.stdin.resume();
process.stdin.setEncoding('utf8');
var number = 1;
if (number == 1) {
 console.log("スキ!"); // 条件式が成立したときの処理
} else if (number == 2) {
 console.log("どちらでもない");// 条件式2が成立したときの処理
} else {
 console.log("キライ"); // 条件式が成立しなかったときの処理
}

03:比較演算子で条件分岐してみよう

  • 比較演算子の種類
    • a==b:aとbが等しい
    • a
    • a>b:aがbよりも大きい
    • a<=b:aがb以下である
    • a>=b:aがb以上である
    • a!=b:aとbが等しくない

04:おみくじを作ってみよう

  • おみくじ
// おみくじを作る
// 比較演算子 == > < >= <= !=
// 大吉 中吉 小吉 凶 大凶
process.stdin.resume();
process.stdin.setEncoding('utf8');
var omikuji = parseInt(Math.random() * 10) + 1;
console.log(omikuji);
if (omikuji == 1) {
 console.log("大吉");
} else if (omikuji ==2) {
 console.log("中吉");
} else if (omikuji <= 4) {
 console.log("小吉");
} else if (omikuji <= 7) {
 console.log("凶");
} else {
 console.log("大凶");
}

05:RPGのクリティカルヒットを再現

  • おみくじ
// RPGのクリティカルヒットを再現
// 比較演算子 == > < >= <= !=

// スライムと戦っている。
// 1から10の目のサイコロをふって、
// 6未満:サイコロの目だけダメージを与えたと表示。
// 6以上:クリティカルヒットとして、100のダメージを与えたと表示。

process.stdin.resume();
process.stdin.setEncoding('utf8');
var hit = parseInt(Math.random() * 10) + 1;
console.log(hit);
if (hit
 console.log("スライムに、" + hit + "のダメージを与えた!");
} else {
 console.log("クリティカルヒット!スライムに、100のダメージを与えた!");
}

06:西暦から平成何年か求めてみよう

  • 平成年から西暦年を求める
    • 平成年に1988を足す
  • 西暦年から平成年を求める
    • 西暦から1988を引く

感想

ちょっと冗長だったかな。
西暦から平成への変換って。
もう時代は令和だけどな😁