0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScript Loop処理

Last updated at Posted at 2020-10-01

JavaScriptでループ処理

こんにちは。ayabouzuです。phpのループ処理は、そんなに抵抗なく出来るんですけど、
JavaScriptだと、よく分からないなあと感じることが多かったので、記事にして、復習しようと思っています。また、初学者の方の参考になれば、嬉しいです。

reduce

reduce関数ですが、結構、使える関数なので、良かったら、覚えてしまいましょう。

var numbers = [1,2,3,4,5,6,7,8,9];

var result = numbers.reduce(function(a, b) {

return a + b;

})

上をconsole.log(result)すると、


45

と答えが返ってきます!!

中で起こっている事は以下になります。

1+2=3 (a+b)(この3が次のaとなる)
3+3=6 (a+b)
6+4=10 (a+b)
10+5=15 
15+6=21
21+7=28
28+8=36
36+9=45
//ここで終了

要は、合計値を求めてくれているんですね。便利だと思いませんか?

for ループ処理

ちなみにfor文で記述すると以下になります。


var total = 0;
for(let i=0; i<10;i++){
total += i;
}
console.log(total);

//45

reduceは応用が効く

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var result = numbers.reduce(function (a, b, index, arr) {
if (index >= 3) arr.splice(2);
return a + b;
});
document.write(result);

document.write(" " + numbers);

上のsplice関数っていうのが、()の中以降のインデックス番号の数字を全て削除しますよという意味になります。上の例だと、配列の中の3番目の数値である4を通過した時点で、2番目以降の配列の値を全て削除してしまいます。

numbers = [1,2,3,4];
/*合計値を求めると、10の値が返ってきます。試しに配列の中身をみてみると、1,2と返されました。
つまり、インデックスが3を超えたら、繰り返し処理から抜けると言うことになりますね。このように、break文のように使うことも可能なんです。ちなみに、今回は、インデックス番号は1から始まっています。
*/

オブジェクト指向型言語のメリットっていうのは、引数をいくつも設定出来る、関数を呼び出せば、何度も繰り返し使える、そこに尽きるんですかねー?私も、まだまだペーペーですが、引き続き、Jsを鍛えていこうと考えています。

私のYouTube動画、是非見てやってください!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?