Total: Today: Yesterday:
개발/JavaScript | 2015. 2. 2. 18:22 | Posted by 자수씨

각종 자바스크립트 라이브러리에서만 써오던 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 각 페이지에서 확인하길 바란다.