본문 바로가기

728x90

자바스크립트

(13)
내가 고른 값이 배열 안에 존재하는 지 확인하는 방법, 존재하면 그 값을 리턴 자바스크립트를 공부하는 중에, 많이 쓰일 것 같아서 정리해 놓으려고 합니다. 많은 분들에게도 참고가 되셨으면 좋겠습니다. 바로 들어갑니다. 배열이 존재합니다. arr = [1,2,3,4,5,10,23,30,40] 내가 고른 값이 이 배열에 있는 지 확인하고 싶습니다. 예를 들어 내가 선택한 값이 11 이라면 (물론 한 눈에 보기에도 존재하지 않지만 함수로 정리 해 봅시다) (급하신 분은 맨 밑에 식만 정리 해 놓았으니, 그곳을 참고해주십쇼) 첫번째 방법 for문을 이용하여 찾는 방법 1. 함수를 정의합니다. function checkArray () { // TODO } 2. 대상 배열을 첫번째 매개변수에 지정하고, javascript의 for문을 이용하여 배열 arr을 순회합니다. function che..
자바스크립트 Array 파괴적 비파괴적 메서드 메서드 들에 자세한 내용은 따로 정리예정이고 우선 이 글에서는 배열의 파괴적 메서드, 비파괴적 메서드에는 무엇이 있는지 나누어 보겠습니다. 파괴적, 비파괴적 메서드란 ? JavaScript의 배열 메서드에는 파괴적인 메서드와 비파괴적인 메서드가 있습니다. 둘의 차이는 원래의 배열에 변경을 가하는지 여부입니다. 파괴적인 메서드는 원래의 배열을 변경합니다. 이러한 메서드를 사용하면 배열의 요소가 추가, 삭제 또는 변경되어 배열의 상태가 변합니다. 비파괴적인 메서드는 원래의 배열을 변경하지 않습니다. 이러한 메서드를 사용하면 원래 배열의 상태는 그대로 유지됩니다. 대신 새로운 배열이 생성되거나 특정 값이 반환됩니다. 파괴적인 메서드와 비파괴적인 메서드를 적절히 구분하여 배열 조작을 효과적으로 수행할 수 있습니..
자바스크립트에서 Ajax 사용 기본 Ajax란? Ajax(Asynchronous JavaScript + XML)은 브라우저에서 페이지의 내용을 업데이트하기 위해 비동기 통신을 이용하는 기술을 의미하는 약어입니다. 비동기 통신이란? 비동기 통신은 요청을 보내고 데이터가 반환될 때까지 브라우저에서 처리하고 업데이트할 부분만 요청하여 처리하는 통신을 의미합니다. 클라이언트 측에서 작동하는 JavaScript가 직접 서버와 통신하여 가져온 데이터를 기반으로 HTML 파일을 업데이트하는 방식입니다. 일반적인 통신에서는 클라이언트에서 서버에 요청(Request)을 보내고 데이터(HTML 파일 등)가 반환되면 응답(Response)이 반영됩니다. 따라서 응답이 반환될 때까지 조작이 불가능해집니다. 비동기 통신의 경우 응답을 기다리지 않고 다음 조작으로..
JavaScript에서 객체 복사에 JSON 을 사용하는 시대는 끝났다! 앞으로 깊은 복사 할 때는 structuredClone 을 사용합시다! https://developer.mozilla.org/ja/docs/Web/API/structuredClone structuredClone() - Web API | MDN グローバルの structuredClone() メソッドは、指定された値のディープコピーを、構造化複製アルゴリズムを用いて生成します。 developer.mozilla.org const obj = { hoge: [new Date(2023, 3, 12), 1], fuga: 'foo' }; const objClone = structuredClone(obj); // 깊은 복사 obj.hoge[1] = 10; console.log(objClone.hoge[1]); // 1 objClo..
new Date()로 현재 날짜 시간을 취득 해 보자! 먼저, new Date() 로 현재의 날짜 시간을 취득하려면 var now = new Date(); console.log(now); 이렇게 뭔가 날짜 같은 것들이 뜨는 것을 볼 수 있습니다! 취득한 날짜를 변형시켜 보자! 방금 취득한 날짜 시간을 2023년 4월 14일 의 형식으로 바꾸어 봅시다! const now = new Date(); const year = now.getFullYear(); const month = now.getMonth()+1; const date = now.getDate(); const displayDate = year + '년' + month + '월' + date + '일'; console.log(displayDate); // => 2024년4월14일 getMonth()는 1..
자바스크립트로 거듭제곱 하기 (공부) 거듭제곱을 하는 방법에 대해 알아보았다. 두 가지 방법이 있었는데 1. Math.pow() 2.함수로 만드는 방법 1. Math.pow()는 자바스크립트의 메서드를 이용하는 방법으로 문법은 Math.pow(base, exponent) // base에는 거듭제곱 할 수를, exponent에는 얼마를 거듭제곱할지를 적는다. 예를 들어 console.log(Math.pow(2,4)) // 이것은 2를 4제곱 한다는 말이고, 결과는 16이 된다 음수의 거듭제곱이 있는데 그건 mdn에게 맡기도록 한다. 2.함수로 만드는 방법은 재귀를 이용한 방법으로 함수 안에서 본인을 호출시켜서 만드는 방법이다 function pow(x, n) { if (n == 1) { return x; } else { return x * p..
피셔에이츠셔플, 랜덤 숫자 뽑기 *나중에 써먹으려고 메모해둠 랜덤으로 숫자 뽑는 함수에 대해 배웠는데 설명하려면 아직 좀 부족한 감이 없지 않아 있다 a = [1,2,3,4,5,6,7,8,9]; for(i = a.length -1;i>0;i--){ //무작위 숫자를 뽑음 r = Math.floor(Math.random()*(i+1)); tmp = a[i]; a[i] = a[r]; a[r] = tmp; }
배열의 값을 더해야 할 때 배열의 요소를 더해 줄 필요가 없을 때 어떻게 해야하지? 헤매다가 찾아서 정리한다. 역시 정의와 원인 이런거는 다른 분들의 멋진 해설을 보면 되고 여기서는 바로 코드로 보자 let getArray = [1000, 2000, 3000, 4000]; // 이런 배열이 있다, 이걸 다 더해야 한다 let total = getArray.reduce(function(sum, element){ return sum + element; }, 0); // 결과 : 10000 끝. 빼고 싶을 때는 부호 - 를 붙이면 된다. reduce가 뭐고 저 안의 함수 sum, element가 뭔지 , 0이 뭔지는 MDN을 보시면 됩니다 https://developer.mozilla.org/ko/docs/Web/JavaScript/R..

728x90