Skip to content

Instantly share code, notes, and snippets.

@sokcuri
Last active July 11, 2017 00:01
Show Gist options
  • Save sokcuri/2b58b7cadda97d94165e6758f44ca938 to your computer and use it in GitHub Desktop.
Save sokcuri/2b58b7cadda97d94165e6758f44ca938 to your computer and use it in GitHub Desktop.
한땀한땀 만든 수제 map과 filter입니다
var map = function(array, func) {
func = (func || (x => {
return x;
}));
let newArray = new Array();
for (let i = 0; i < array.length; i++) {
newArray[i] = func(array[i]);
}
return newArray;
}
var filter = function(array, func) {
func = (func || (x => {
return x;
}));
let newArray = new Array();
for (let i = 0; i < array.length; i++) {
if (!!func(array[i])) {
newArray.push(array[i]);
}
}
return newArray;
}
넷스케이프 당시 클라이언트의 스크립트 언어인 '라이브스크립트'를 만들게 되었는데,
마케팅적인 이유로 JAVA 언어 소유권 회사인 SUN 회사와 제휴를 맺으면서
라이브스크립트를 자바스크립트로 바꾸게 된 것이 시초이다.
하지만 자바스크립트는 JAVA와 연관이 없으며, 둘이 비슷하게 보이는것은
두 언어 모두 C를 기반으로 하는 서브셋 언어이기 떄문이다.
자바스크립트에서 느낌표는 Not을 의미한다.
느낌표를 두번(!!) 변수 앞에 붙이는 것은 해당 변수를 불리언 값으로 변경하기 위함이다.
이렇게 하는 이유는, if 문에서 변수가 true인지 비교하면 변수가 1 또는 true일때만 조건이 성립하기 때문에
변수를 불리언 값으로 바꿔 true에 가까운 값까지 알아내기 위함이다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment