본문 바로가기

javascript

[javascript]브라우저 창크기 window.innerHeight를 사용하면 됩니다. javascript console.log("window.innerHeight:", window.innerHeight); 제 컴퓨터에서는 920이라고 나오네요. 실제로 재어보니 스크롤 높이가 딱 920이네요. 이렇게 브라우저의 안쪽 높이가 innerHeight입니다. 그럼 다른 표현도 있겠네? console.log("window.innerHeight:", window.innerHeight); //빨간색 console.log("window.outerHeight:", window.outerHeight); //파란색 console.log("window.innerWidth:", window.innerWidth); //빨간색 console.log("window... 더보기
정규표현식 이메일 형식에 맞게 설정하는 방법 코딩 하다보면 매번 정규표현식이 자주 쓰이는데, 할때마다 옮겨적기도 불편하네요. 이번 기회에 문법을 파헤쳐 볼까 합니다. "이메일 형식에 맞지 않습니다.' 웹페이지 보다보면 이런 메시지 출력되는것 많이 보셨죠? 이 조건을 입력하려면 이런 정규표현식을 작성해야 합니다. *** /\S+@\S+\.\S+/ *** 이게 뭔 외계인 소리인가 하실겁니다. 해석 하나하나씩 살펴보면 전부 이해가 갈겁니다. 아래 이미지를 보시면 맨 첫번째 항목이 정답이고 나머지 형식은 모두 틀린겁니다. 이제부터 나머지들을 거를겁니다. \S 는 공백을 제외한 모든 문자를 뜻합니다. +를 붙인다면 앞에 조건을 가진 모든 단어라고 생각하면 되겠죠. @를 붙였더니 딱 골뱅이 기호까지 선택되네요. 우리는 뒤까지 더 선택해야합니다. 골뱅이 다음 .. 더보기
[프로그래머스]로또의 최고 순위와 최저 순위 - javascript 문제는 이미 알고서 답이 궁금해서 오셨을것 같으므로 풀이만 합니다. function solution(lottos, win_nums) { var answer = []; const rank = { //순위 넣을 객체 생성 6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6 } let max = 0; // 최대값 let min = 0; // 최소값 for(let i of lottos){ if(win_nums.includes(i)) { //당첨번호와 일치한다면 카운트 max++; min++; } else if(i===0) { //최대값은 모두 맞았다는 가정하에 전부 카운트 max++; } } answer.push(rank[max], rank[min]); //맞은 갯수에 따라 등수 산정 re.. 더보기
[프로그래머스]여행경로 - javascript 구글링 검색 검색 후 해석. 알고나면 참 아무것도 아닌데 아직은 어렵네요. function solution(tickets) { let routes = []; function DFS(extra, current, route){ // extra(잔여티켓): [["ICN", "JFK"], ["HND", "IAD"], ["JFK", "HND"]] // current(현재위치): "ICN" // route(여행경로): ["ICN"] if (extra.length === 0) { routes.push(route); //잔여티켓 연산이 끝나면 routes로 정보전송 } //티켓 모두 사용 else { extra.forEach(([s, e], index) => { //s: 출발, e: 목적지 //index: 인덱스번호 .. 더보기
[javascript]배열 복사 영향 안받게하려면? array.slice(); 배열을 선언하고 복사를 하고 나면 우리가 생각하는대로 원본은 그대로 있어야 하는데 원본도 같이 바뀝니다. 예제를 보시면 이해가 빠를거예요. let a = [2,3,1]; let a1 = a.sort((a,b)=>a-b) console.log(a1); console.log(a); //문제 a를 출력해보면 우리가 처음 봤던 a와는 다르게 a1이랑 같은 결과가 나옵니다. 기본적으로 배열은 원본을 참조하도록 설정 되어 있습니다. 이 연결을 끊어주려면 이렇게 해주면 됩니다. let a = [2,3,1]; let a1 = a.slice(); a1 = a1.sort((a,b)=>a-b) console.log(a1); //[1,2,3] console.log(a); // [2,3,1] 이제 서로 영향을 받지 않습니다. 더보기
[js]replace 치환하기 사용방법 치환하기(replace) javascript에서 치환할땐 replace를 쓰면 됩니다. replace 사용법 이렇게 써주면 됩니다. 원본텍스트.replace("바꾸고 싶은 대상","바꿀말") const txt = '침대는 영어로 췸뒈'; //원본이 이렇게 있다면 console.log(txt); // 원본을 한번 출력해본거구요. console.log("1단계:"+txt.replace("췸뒈","bed")); //이걸 실행하면 바뀝니다. 복수로 바꾸고 싶을땐? 따옴표를 빼버리고 앞뒤를 /내용/gi 로 감싸주면 됩니다. const txt2 = '췸뒈는 영어로 췸뒈'; console.log(txt2); console.log("2단계:"+txt2.replace("췸뒈","bed")); // 한번밖에 안바뀌겠죠 c.. 더보기