1. forEach method
forEach method는 for 구문과 같이 배열의 인자를 순서대로 불러와서 특정 작업(callback 함수 내용)을 실행한다.
for 구문에 있는 초기화, 조건식, 증감문 등이 없으므로 깔끔하게 작성이 가능하다.
return이 없는 형태로, 모든 배열 요소에 대해 실행한 결과를 함수 안에서 표현만 가능하다.
배열.forEach(callback(인자, index, 배열))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
const arr = [1, 2, 3, 4, 5];
arr.forEach(function(element, index, array){ console.log(`${array}의 ${index}번째 요소 : ${element}`); });
//결과 : // 0,1,2,3,4,5의 0번째 요소 : 0 // 0,1,2,3,4,5의 1번째 요소 : 1 // 0,1,2,3,4,5의 2번째 요소 : 2 // 0,1,2,3,4,5의 3번째 요소 : 3 // 0,1,2,3,4,5의 4번째 요소 : 4 // 0,1,2,3,4,5의 5번째 요소 : 5
|
cs |
>> 단순히 배열.forEach(element) 형태로도 사용 가능하다.
1 2 3 4 5 6 7 8 |
const arr = [1,2,3];
arr.forEach(function(element){ console.log(element); });
// 결과 : 0 1 2 3 |
cs |
2. Every method
every method는 마치 filter method와 같이, 배열의 각 요소가 특정 조건을 만족하는지 검사하는 기능을 가지지만,
'모든' 요소가 조건을 만족해야만 true를 반환하고, 아니면 false를 반환하는 특징을 가진 method 이다.
배열.every(callback(인자))
1 2 3 4 5 6 7 8 9 10 11 12 |
let a = [1, 2, 3, 4, 5];
let Odds = a.every(function(element){ return element % 2 !==0; }); console.log(Odds) // 결과: false
let b = [1, 3, 5]; let Odds2 = b.every(function(element){ return element % 2 !==0; }); console.log(Odds2) // 결과: true |
cs |
3. Some method
every method와 반대로, 배열의 각 요소 중 '1개라도' 특정 조건을 만족하면, true를 반환하는 method 이다.
배열의 각 요소를 순서대로 검색하다가, 특정 조건을 만족하는 '그 즉시' true를 반환한다.
배열.some(callback(인자))
1 2 3 4 5 6 7 8 9 10 11 12 13 |
let a = [1, 2, 3, 4, 5];
let Odds = a.some(function(element){ return element % 2 !== 0; }); console.log(Odds) // 결과: true, 요소 1에서 바로 return 됨
let b = []; let Odds2 = b.some(function(element){ return element; }); console.log(Odds2) // 결과: false, 빈 배열을 넣으면 무조건 false가 return 됨 |
cs |
'Programming-[Frontend] > Javascript' 카테고리의 다른 글
Javascript / 비동기 호출의 개념, 타이머 API 기본 (0) | 2020.08.24 |
---|---|
Javascript / DOM / template (0) | 2020.08.22 |
Javascript / DOM / Event (addEventListener, onclick) (0) | 2020.08.18 |
Javascript / Callback, High Order Function, hoisting (0) | 2020.08.14 |
Javascript / DOM / 기초 / createElement, textContent, append, remove, querySelector (0) | 2020.08.11 |