BLOG

reduce

おはようございます。

5時半起き復活2日目、割と絶好調どうもハヤトワンです。

※問題は明日(祝日)

ということで今日のjs

//例1
//合計を求める
const numbers = [ 10, 20, 30 ];
let sum = 0;

//for文なら…
for (let i = 0; i < numbers.length; i++) {
    sum += numbers[i];
}
console.log(sum);
//60


//reduce
//sumに初期値の0をいれている
const sumByReduce = numbers.reduce(function(sum, number) {
    return sum + number;
}, 0)

console.log(sumByReduce)
//60


//例2
//['red', 'yellow', 'blue']の配列を作る
//mapを使えばすぐできるがreduceを使ってやってみる

const primaryColors = [
    { color: 'red' },
    { color: 'yellow' },
    { color: 'blue' }
];

//mapの場合
// const color = primaryColors.map((item)=> {
//     return item.color;
// })
// console.log(color);
//もしくは
// const color = primaryColors.map((item)=> item.color);
// console.log(color)


//reduceの場合
//※acc → accumulator:蓄積するもの的な
const color = primaryColors.reduce(function(acc, primaryColor) {
    acc.push(primaryColor.color)
    return acc;
}, []);
console.log(color);
//配列にpushしてるのでミューテート(変化加える)してるやんとなるかもしれないが、
//これはreduceメソッド内で行われてる話だし、accは外で使えないので、
//メソッド内ではミューテートしてもいいというポリシーの元の書き方


昔より分かるようになっているのがシンプルにうれしい。

お次は今日の英語

impolite:失礼(過失的)

rude: 失礼(故意的)

Do you have a meeting to attend to?: 出席する会議はありますか?

It’s half past two.

2時30分です。

quarter past:〜時15分前

It’s a quarter to six.

5時45分です。

quarter past : 〜時 15分

appointment: 人と会う約束

Just a minute.:ちょっとまって

you’d better hurry up: 急いだほうがいいですよ

それでは今日も良い一日を!