callback함수를 활용한 함수 구현하기
어제 콜백함수로 함수를 구현하면서 콜백함수의 매개변수로 들어오는 값이라던지, 콜백함수에서 return 하면 그 값은 어디로 전달되는지에 대해 이해를 못하고 있었는데 오늘 수업시간에 그 개념에 대해 짚고 넘어가서 그런지 한번에 이해가 되어서 너무 다행이었다...
ex)
_={};
//여기서 iterator는 함수로 전달된다.
_.explain = function(collection, iterator){
for(let i = 0; i < collection.length; i++){
let iterValue = iterator(collection[i])
console.log(iterValue)
}
}
//callback함수인 익명함수의 매개변수 element는 위 _.explain의 collectio[i]가 전달된다.
_.explain(['NRe','code'],function(element){
console.log(element);
//return한 값은 _.explain의 iterValue로 전달된다.
return 'someValue with '+ element;
})
//결과
//NRe
//someValue with NRe
//code
//someValue with code
let newArr = [];
let j;
for(let i = 0; i < array.length ; i++){
let max = array.length ;
let min = 0
j = Math.floor(Math.random() * max);
newArr.push(array[j])
}
return newArr;
Reference