본문 바로가기

JS19

[HTML]오디오 재생 시 재생 중인 다른 오디오 정지 (HTML Audio DOM) 🔊 오디오 재생 let track = new Audio(); let flag = 0; // flag를 사용하여 재생 중인 오디오 있으면 정지 const playVoice = (audioSrc) =>{ track.src = audioSrc; console.log(track.paused) if(flag === 0){ flag = 1; playAudio(); }else{ flag = 0; stopAudio() } } const playAudio = () => { track.play(); track.paused = false iconAnimation("play"); } const stopAudio = () => { track.pause(); track.currentTime = 0; iconAnimation("s.. 2023. 12. 1.
[JS] value로 key값 찾기 value로 key값 찾기 const list = { "a": "netmable", "b": "nexon", "c": "ncsoft", "d": "kakaogames", } function getKeyByValue(object, value) { return Object.keys(object).find((key) => object[key] === value); } getKeyByValue(list, "nexon") // b 2023. 7. 19.
#TIL #230329 요즘 쪽대본(?)같은 업무들이 밀려들고 있습니다. (수정 된 기획을 몇 시간안에 디자인, 개발, QA까지 끝내야하는...) 급하게 하는 일 중에서도 '미쳐 생각지 못한, 그동안 사용해보지 못했던, 몰랐던 또는 변화한 코드'들이 찰나로만 스쳐가는게 아까워 메모 수준으로라도 끄적여 둬야겠다고 다짐하는 요즘입니다. 2023.03.29 (화) 1. 기본(?)을 포기하고 디자인을 잡은 사례😅 [기획, 디자인 등 요청 사항] ✅ input 숫자만 입력 가능하게 this.value = this.value.replace(/[^0-9.]/g, '') .replace(/(\..*)\./g, '$1'); // 숫자만 입력가능한 정규식 .replace(/[^0-9.]/g, '') 숫자 (0-9)과 수수점 값이 아니면 '공백'.. 2023. 3. 30.
[JavaScript] encodeURIComponent()를 사용한 URI 공유 💥'텔레그램 링크 공유하기' 기능을 구현에 있어 '+'문자열이 무시되는 경우 발생. https://t.me/+_abscefb1234 위와같은 링크를 아래와 같은 함수로 전달했다. function shareTelegram() { let sendUrl = "https://t.me/_abscefb1234"; window.open("https://telegram.me/share/url?url=" + "&url=" + sendUrl); } 하지만 다음과 같이 + 가 빠진 상태로 전달되는 현상 발생 https://t.me/_abscefb1234 이렇게 공유가 되었다. 주소창에는 원하는 url이 잘 전달 되었기에 (+모바일에서는 url 문자열이 완벽히 출력됨. PC앱에서만 문제가 생김._ 텔레그램 자체의 어떤 상황으.. 2022. 7. 4.
[JS lib.] Lodash - 기초 문법 이번에 이관 받은 운영툴 분석 중 배운 것. - Lodash 란? 모듈성, 성능 및 추가 기능을 제공하는 최신 JavaScript 유틸리티 라이브러리입니다. Lodash는 배열, 숫자, 객체, 문자열 등으로 작업하는 번거로움을 없애 JavaScript를 더 쉽게 만듭니다. Lodash의 모듈식 방법은 다음과 같은 경우에 적합합니다. 배열, 객체 및 문자열 반복 값 조작 및 테스트 복합 함수 만들기 출처 : lodash공식사이트 Lodash _.defaults({ 'a': 1 }, { 'a': 3, 'b': 2 });_.partition([1, 2, 3, 4], n => n % 2);DownloadLodash is released under the MIT license & supports modern en.. 2022. 6. 28.
[JavaScript] 오늘 하루 보지 않기 (cookie) JavaScript를 사용하여 '오늘 하루 보지 않기 팝업' 구현하기 '오늘 하루 보지 않기' 체크박스 선택 후 닫음 > 오늘 하루 보지 않기 '오늘 하루 보지 않기' 체크박스 해제 후 닫음 > 페이지 접속 시 마다 계속 보이기 See the Pen Untitled by KANG DAN (@kangdanne) on CodePen. const btnClose = document.querySelector('.btn_close'); const popupMask = document.querySelector('.popup_mask'); const popup = document.querySelector('.popup_wrap'); btnClose.addEventListener('click', function(){ .. 2022. 4. 11.
[JavaScript] fetch함수에서의 에러(Error) 처리 react환경에서의 fetch 함수로 api요청한 실습 // fetch함수를 통한 GET요청 -> 데이터를 가져옴 fetch('https://주소.json') // then함수를 사용해 가져온 데이터를 출력 .then ((response) => { // callback함수 return response.json() }) // 파싱한 결과를 출력해 볼 때 .then ((result) => { console.log(result) }) [에러 처리] fetch('https://주소.json') .then ((response) => { return response.json() }) .then ((result) => { console.log(result) }) // 에러처리 .catch(() => { console.. 2021. 11. 22.
[Algorithm 011] JS - topK Q. nums는 숫자로 이루어진 배열입니다. 가장 자주 등장한 숫자를 k 개수만큼 return해주세요. nums = [1,1,1,2,2,3] k = 2 return [1,2] nums = [1] k = 1 return [1] A. 답 nums = [1,1,2,2,2,3]; k = 2; function topK(nums, k) { const obj = {}; nums.forEach((x) => { if(obj[x]) { obj[x] = obj[x] + 1; }else{ obj[x] = 0 + 1; } }); let arr = Object.values(obj).sort((a, b) => b - a).slice(0, k); const result = []; for(i = 0; i < arr.length;i++.. 2021. 10. 3.