코테를 따로 카테고리를 팔-까? 하다가 문제만 올리는게아니라
MDN 문서 참고해서 사용법도 같이 올릴생각에 따로 카테고리 안만듦
로로나 2일차. 심심하다. 하지만 24일날 코테가 있기때모넹.. 일주일동안 코테 준비 + 기사 시험공부를 하기로 결정
프론트엔드로 코테를 볼꺼라 자스 공부중.
내장객체함수가 이렇게 종류가 많았구나를 느끼면서 공부중이다.
로또의 최고 순위와 최저 순위를 풀다가 고민됐던 부분.
filter()
arr.filter(callback(element[, index[, array]])[, thisArg])
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length < 6);
console.log(result)
JSON형식 필터링
let arr = [
{ id: 15 },
{ id: -1 },
{ id: 0 },
{ id: 3 },
{ id: 12.2 },
{ },
{ id: null },
{ id: NaN },
{ id: 'undefined' }
];
let invalidEntries = 0;
function isNumber(obj){
return obj !== undefined && typeof(obj) === 'number' && !isNaN(obj);
}
function filterByID(item) {
if (isNumber(item.id) && item.id !== 0) {
return true;
}
invalidEntries++;
return false;
}
const arrByID = arr.filter(filterByID);
console.log('Filtered Array\n', arrByID);
console.log('Number of Invalid Entries = ', invalidEntries);
include()
arr.includes(valueToFind[, fromIndex])
참고로 includes는 대소문자를 구분한다
arr = ['a', 'b', 'c'];
console.log(arr.includes('a')); //true
console.log(arr.includes('a', -100)); //true
console.log(arr.includes('b', -10)); //true
console.log(arr.includes('b', -2)); //true
console.log(arr.includes('a', -1)); //false
console.log(arr.includes('b', -1)); //false
console.log(arr.includes('c', -1)); //true
console.log(arr.includes('a', 0)); //true
console.log(arr.includes('b', 1)); //true
console.log(arr.includes('c', 3)); //false
fromIndex가 음수일 경우 인덱스는 값을 찾기 시작할 배열의 위치로 사용되기 위해 연산된다.
그러나 만약 계산된 인덱스가 -1 * array.length 보다 작거나 같다면, 전체 배열이 검색 된다.
또한 전체 길이보다 길 경우 false를 반환한다
프로그래머스 문제풀이
function solution(lottos, win_nums) {
const includeNo = lottos.filter(it => win_nums.includes(it)).length;
const zero = lottos.filter(it => it === 0).length;
const includeZero = includeNo + zero;
var answer = [includeZero, includeNo];
return answer;
}
filter는 같은 값을 찾아서 새로운 배열로 만들어주고
includes는 값이 있는지 확인해 boolean타입으로 알려준다.
반응형
'개발 > Javascript' 카테고리의 다른 글
[JSON] manifest.json? (0) | 2022.12.19 |
---|---|
[Javascript] Console API (0) | 2022.11.10 |
[Javascript] 전역환경 레코드와 호이스팅. 왜? (0) | 2022.09.13 |
[Javascript] Weather API 가져오기 (1) | 2022.09.05 |
[Javascript] Execution Context (실행 컨텍스트) (0) | 2022.09.02 |