Javascript forEach 使い方

今回はforEachによるloginとlogoutのレイアウト変更について

 

コードは以下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
</head>
<style>
.hidden{
display: none;
}

</style>
<body>
 
<form action="" class="form hidden">
<input type="text">
<br>
<textarea name="" id="text" cols="30" rows="10"></textarea>
</form>

<button class="login">login</button>
<button class="logout hidden">logout</button>


<script>
let form = document.querySelector('.form');
let login = document.querySelector('.login');
let logout = document.querySelector('.logout');

login.addEventListener('click', function(){
[form, logout].forEach(function(e){
e.classList.remove('hidden');
});
login.classList.add('hidden');
});

logout.addEventListener('click', function(){
[form, logout].forEach(function(e){
e.classList.add('hidden');
});
login.classList.remove('hidden');
});

</script>
</body>
</html>

 

forEachを使用しclass「hidden」を出し入れしている。

 

forEachの基本的な使い方は

配列.forEach(function(){});

となり関数内の内容を配列の中の要素全てに対して行う

 

let arr2 = [{name:'あ', price:100},
{name:'い', price:200},
{name:'う', price:300}
]

arr2.forEach(function(value){
console.log(value.price);
});

上記では配列の中のオブジェクトの値を取り出すことも可能

consoleでは

test.html:20 100
test.html:20 200
test.html:20 300

 

と表示される。

参考:https://www.sejuku.net/blog/20257

 

他にも実戦では要素を作ってappendすることをforEachで上手くやっているのを見かけるが、まだ理解が追いついていない

 

 

続く