각종 자바스크립트 라이브러리에서만 써오던 each 함수가 브라우저 지원 함수라는 것을 오늘에야 알았다...
(출처: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
물론 IE 9 이상에서만 동작하는 것이 함정이지만...
새로 확인된 함수는 총 3종류 이다. (각 함수를 클릭하면 MDN 페이지로 연결됩니다.)
Array.prototype.forEach()
### js
[2, 5, , 9].forEach(function (element, index, array) {
console.log('a[' + index + '] = ' + element);
});
// logs:
// a[0] = 2
// a[1] = 5
// a[3] = 9
배열의 원소들을 인자로 하는 callback 함수를 호출한다. callback 함수의 인자는 (원소, 인덱스, 전체배열) 이다.
Array.prototype.every()
배열의 모든 원소들이 callback 함수를 모두 통과하는지를 확인하는 함수이다.
### js
function isBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
Array.prototype.some()
배열의 일부 원소가 callback 함수를 통과하는지를 확인하는 함수이다.
### js
function isBiggerThan10(element, index, array) {
return element > 10;
}
[2, 5, 8, 1, 4].some(isBiggerThan10); // false
[12, 5, 8, 1, 4].some(isBiggerThan10); // true
하위호환성을 유지하기 위한 코드는 MDN 각 페이지에서 확인하길 바란다.