Javascript#Loop

今回はLOOPについてメモしますね。ここで前回のJavascriptメモのリンクがございますので、もしよかったらどうぞ↓:

JavaScript#Hello World,String,Function

JavaScript#制御フロー,配列

Loop

Loopはいわゆる繰り返しで、プログラムの中に絶対欠けないものです。Logging、データ処理など…Loopがあるからこそ全部のコードを1から書かなくてよいんです。

For loop
let array1=[1,2,3,4,5,6,7,8];
for (let i=0;i<array1.length;i++){
	console.log(array1[i]);
}

上記のコードでForを使って、array1のelementsをすべてアクセスします。

let array1=[1,2,3,4,5,6,7,8];
for (let i =array1.length;i>=0;i--){
	console.log(array1[i]);
}

上記のコードは先のFor loopと同じですが、注意したいのはIndexは配列のサイズから減るのことです。つまりこのLoopingはIndexが一番大きElementsから一番小さいまでアクセス。

わかりましたか?For loopは確実なサイズ以内の回るしかできません。つまり、無限LOOPになってしまうことがあまりないです。

While loop
let array1=[1,2,3,4,5,6,7,8];
let x=0;
while(x<array1.length){
console.log(array1[x]);
x++;}

上のコードは先のFor loopと同じ結果でましたけど、While(条件True)のとき{}の中のコードを実行します。{}の中にx++で毎回{}の最後にいまのINDEXを1プラスします。

let array1=[1,2,3,4,5,6,7,8];
let x=0;
while(x<array1.length){
console.log(array1[x]);}

もしx++がなくなったらどうになります?While Loopがずっと回ってしまうことになる。いわゆる無限LOOPですね。ここでは気をつけないといけません。

Iterators

Loopingを使うときJavascriptはさまさまなFunctionが提供し、プログラマーに簡単で配列をアクセスできるようにします。ここで一部のFunctionを紹介しましょう。

.foreach()
let array1=[1,2,3,4,5,6,7,8];

array1.forEach(function(x){
console.log(x);});
  • まずはarray1は.forEach functionを呼び出します。
  • Functionをを作成し引数Xを取ります。
  • .forEach()はIterators functionなのでarray1のElementsは自動的にXにPASSします。
array1.forEach(x=>console.log(x+'-'));

forEach()、もっと簡単書き方。

注意したいのはforEach()のreturn value はundefinedです。つまりオリジナルの配列の値が変わりません。

map()

ではもし配列の内容変更したいならmap()を使ってください。

let array1=[1,2,3,4,5,6,7,8];
array1=array1.map(function(y){return y*10 });

このコードは配列のElementsをアクセスし10にかけ、そのreturnの結果をarray1に戻る。

array1=array1.map(x=>x*10);

map()、もっと簡単書き方。

filter()

このFunctionは配列の中に条件に合うElementsだけ返しします。

y=array1.filter(function(x){return (x>10 && x<50)});

このコードでarray1の中に10より大き、50より小さいのElementsをReturnしyに入れます。

y=array1.filter(x=> x>10 && x<50);

filter()、もっと簡単書き方。

このリンクは他のFunctionの説明もありますので↓

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array


今回はここまでしますね!

じゃまたー

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする