- array filter map 등의 콜백 function에 추가 인자(매개 변수) 받기(add argument parameter)
//-------------------------------------
* 방법1 : 콜백함수에서 this 로 받기
function cb(element, index, array) {
console.log(arguments, this, element, index, array);
// arguments 로 추가 인자를 받을 수가 없음
}
['a', 'b'].filter(cb, [ 'ex1', 'ex2']); // callback 함수 뒤에 1개만 전달됨, 여러 인자 전달시 배열 사용
//-------------------------------------
* 방법2 : bind 사용
- 주의! 인자 순서에 주의
function cb(ex1, ex2, element, index, array) {
console.log(arguments, ex1, ex2, element, index, array);
}
['a', 'b'].filter(cb.bind(this, 'ex1', 'ex2'));
//-------------------------------------
//
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
filter(function(element, index, array) { /* ... */ }, thisArg)
https://stackoverflow.com/questions/7759237/how-do-i-pass-an-extra-parameter-to-the-callback-function-in-javascript-filter
반응형
'Code > JavaScript' 카테고리의 다른 글
[Javascript] 정규식에서 g 플래그 사용시 주의 사항 (0) | 2022.11.27 |
---|---|
[Javascript] *.js 파일에 인자 전달하기 (0) | 2022.07.17 |
[Javascript] 키보드 입력 키값 (0) | 2022.05.01 |
[Javascript] Deno Web Framework (0) | 2022.04.21 |
Deno의 Node.js 대체 프로젝트 (0) | 2022.04.21 |