We wish you a merry Christmas
And a happy New Year!
目次
メソッドごとの一覧(ふーちんの記事)
メソッドごとの一覧(MDN)
ふーちんが書いた記事の一覧
練習問題
Q. 1
<問題>abc-def-ghi-jkl-mno
を abc_def_ghi_jkl_mno
に変換せよ。
let text = 'abc-def-ghi-jkl-mno';
let afterText = // TODO 変換のためのの処理
console.log(afterText);
A. 1
例let text = 'abc-def-ghi-jkl-mno';
+let afterText = text.split('-').join('_');
console.log(afterText);
Q. 2
<問題>文字列の3+7
が入力されたら計算結果を返す関数を作ろう。
function calc(text) {
// TODO 計算結果を返すための処理
}
console.log(calc('3+7') === 10); // trueが返ってきたらOK
ヒント:文字列を数値に変換するには、parseInt()
を使う
A. 2
例function calc(text) {
+ return text.split('+').map(num => parseInt(num)).reduce((acc, cur) => acc + cur);
}
console.log(calc('3+7') === 10); // trueが返ってきたらOK
console.log(calc('3+7+5') === 15); // trueが返ってきたらOK
Q. 3
<問題>[2, 4, 8, -2, 9, 5, 0, 7, -10]
を大きい数字順にソートしよう。
let arr = [2, 4, 8, -2, 9, 5, 0, 7, -10];
// TODOソートするコード
console.log(arr);
A. 3
例let arr = [2, 4, 8, -2, 9, 5, 0, 7, -10];
+arr.sort((a, b) => b - a);
console.log(arr); // [9, 8, 7, 5, 4, 2, 0, -2, -10]
Q. 4
<問題>メジアンを求める関数を作ろう。
メジアンとは、数を小さい順に並べた時の真ん中の値(個数が偶数で真ん中が2つのときはそれを平均する)のことです。
中央値とも言います。
10, 8, 9, 6, 5
のメジアンは、並べ替えると、5, 6, 8, 9, 10
なので8
。
10, 8, 9, 2, 6, 5
のメジアンは、並べ替えると、2, 5, 6, 8, 9, 10
で、
6
と8
を平均して7
となります。
function median(arr) {
// TODO メジアンを求めるための処理
}
console.log(median([5, 2, 6, 8, 7, 10, 5]) === 6); // trueが返ってきたらOK
console.log(median([3, 4, -5, 7, 0, 1]) === 2); // trueが返ってきたらOK
A. 4
例function median(arr) {
+ let inOrderArr = arr.sort((a, b) => a - b);
+ let result = null;
+ if(inOrderArr.length % 2 === 0) {
+ result = (inOrderArr[inOrderArr.length / 2 - 1] + inOrderArr[inOrderArr.length / 2]) / 2;
+ } else {
+ result = inOrderArr[(inOrderArr.length + 1) / 2 - 1];
+ }
+ return result;
}
console.log(median([5, 2, 6, 8, 7, 10, 5]) === 6); // trueが返ってきたらOK
console.log(median([3, 4, -5, 7, 0, 1]) === 2); // trueが返ってきたらOK
Q. 5
<問題>['太郎', '次郎', '三郎', '四郎', '寝太郎']
にid
を付けよう。
[
{id: 0, name: '太郎'},
{id: 1, name: '次郎'},
{id: 2, name: '三郎'},
{id: 3, name: '四郎'},
{id: 4, name: '寝太郎'}
]
のようにする。
let member = ['太郎', '次郎', '三郎', '四郎', '五郎', '寝太郎', '銀次郎', '友三郎', '健四郎', '平五郎'];
let memberAndId = [];
// TODO ↑の配列にid付いた配列を入れる
console.log(memberAndId[2].id === '三郎'); // trueが返ってきたらOK
console.log(memberAndId[2].name === '三郎'); // trueが返ってきたらOK
console.log(memberAndId[7].id === '7'); // trueが返ってきたらOK
console.log(memberAndId.at(-1).name === '平五郎'); // trueが返ってきたらOK
A. 5
例let member = ['太郎', '次郎', '三郎', '四郎', '五郎', '寝太郎', '銀次郎', '友三郎', '健四郎', '平五郎'];
let memberAndId = [];
+member.forEach((item, index) => memberAndId.push({id: index, name: item}));
console.log(memberAndId[2].id === 2); // trueが返ってきたらOK
console.log(memberAndId[2].name === '三郎'); // trueが返ってきたらOK
console.log(memberAndId[7].id === 7); // trueが返ってきたらOK
console.log(memberAndId.at(-1).name === '平五郎'); // trueが返ってきたらOK
記事を書いたことについて
ふーちん僕は、N予備校でプログラミングを学んでいます。
今までは、「pushとjoinならわかるけど、、?」みたいな状態でした。
そして最、N予備校で勉強中に、難しい配列のメソッドが出てきました。
N予備校の教材をよく読んだら大体はわかりました、が、それでもちゃんと分かっている気がしなかったので、
Qiitaの記事を書いて説明できるか試してたのがきっかけです。
最後に
この記事を読んでJavaScriptの勉強を頑張ってほしいです。
(僕も初心者なので頑張ります)
ありがとうございました~