プログラム入門(⑩顧客リストの作成その4)
次はプログラムで判断、判定、分かれ道=条件分岐 をやってみましょう。
まずはサンプルを実行してみましょう
ファイル ➔ 新しいテキストファイル ➔ test10.js
if(1 < 2){
console.log("こんにちわ")
}
以下のように表示されます。
解説
条件分岐はある条件を満たした場合にプログラムを実行したり、スキップしたり分岐する事ができます。
条件分岐を行うには if = もし
括弧=() で条件を囲みます
今回の条件は 「1 < 2 = 1 より 2 が大きい 」 です。
「 1 より 2 が大きい」正しいので条件一致した事になります。
条件が一致した内容は 中括弧(波型の括弧)={ } の中に記述します。
条件分岐で利用できる種類
種類はいろいろありますが今は「等しい」だけ憶えておけばOK
等しい:イコールを2つ
if(1 == 1){
console.log("同じ")
}
異なる:ビックリマークとイコール
if(1 != 2){
console.log("1と2は違います")
}
大小:だいなり=左の方が大きい(超える)
↓例題では不正解なので if 内は実行されません
if(1 > 2){
console.log("左の方が大きい")
}
大小:しょうなり=左の方が小さい(未満)
if(1 < 2){
console.log("左の方が小さい、右の方が大きい")
}
大小:だいなり、しょうなりにイコールを付ける事で
以上、以下の条件分岐になります
if(1 <= 1){
console.log("◯ 実行されます")
}
if(1 < 1){
console.log("✕ 実行されません")
}
顧客リストを性別で分ける
前回の記事で作成した顧客リストを性別で分けるプログラムを作成してみましょう。
ヒント:
① 性別を分岐:性別=sex を if(d.sex == "男性") 、if(d.sex == "女性")
② 出力データを分ける text_man、text_woman 2つ用意する
③ 出力ファイルを分ける
・fs.writeFileSync("test10_output_man.csv", text_man)
・fs.writeFileSync("test10_output_woman.csv", text_woman)
※まずは↓を見ないで自分で作成してみましょう
失敗は成功のもと
fs = require("fs")
a = {}
a.name = "山田太郎",
a.age = 20,
a.sex = "男性"
b = {}
b.name = "鈴木花子",
b.age = 19,
b.sex = "女性"
c = {}
c.name = "磯村隆",
c.age = 21,
c.sex = "男性"
list = [a, b, c]
text_man = "名前,年齢,性別"
text_man += "\n"
text_woman = "名前,年齢,性別"
text_woman += "\n"
for(d of list){
if(d.sex == "男性"){
text_man += d.name
text_man += ","
text_man += d.age
text_man += ","
text_man += d.sex
text_man += "\n"
}
if(d.sex == "女性"){
text_woman += d.name
text_woman += ","
text_woman += d.age
text_woman += ","
text_woman += d.sex
text_woman += "\n"
}
}
fs.writeFileSync("test10_output_man.csv", text_man)
fs.writeFileSync("test10_output_woman.csv", text_woman)
できましたか?
正解は1つでは無いのでプログラムが違っても問題ありません。
わからない時は前の記事を見直したり、自分で例題を作成して練習してみましょう。
応用問題
以下をプログラムで処理して出力(ファイルもしくはconsole.log)してください
Q1. 年齢でエクセルデータファイルを分けてください
Q2. 「磯村隆」はリストの何番目にいますか?
Q3. リストに含まれる男性人数は何人ですか?
この記事が気に入ったらサポートをしてみませんか?