JavaScript14 객체의 키와 값에 접근하는 방법 이상하게 생각한게 있었다 객체의 key나 value 를 접근할때 for in 문을 사용해서 객체의 속성을 순회하며 배열로 받는데 객체명.keys() 으로 객체 속성 key 값에 접근 가능한 객체가 있는가 하면 Object.keys(객체명) 으로 접근 가능한 객체가 있었다 용도는 같지만 서로 사용처가 달라서 왜 그런지, 어쩔때 둘 중 하나를 써야하는지 몰라 애를 먹곤했다 결론부터 말하자면 객체를 순회하며 데이터를 배열로 반환하고자 할때, 특수한 객체인 Map , Set , Array (자료구조) 에서만 객체명.keys() , 객체명.values() , 객체명.entries() 로 사용한다 그 외의 일반 객체에서는 Object.keys(객체명) , Object.values(객체명) ,Object.entrie.. 2022. 8. 29. [JS] 큰 수의 사용 시 BigInt 로 형변환 c++ 에서는 큰 수를 표현할때 longlong 자료형이 있고 파이썬은 큰 수여도 그냥 알아서 찰떡같이 알아듣는데... 이 빡대가리 자바스크립트는 BigInt 라는 형변환을 해줘야 큰 수의 연산이 가능하다!!! 너무너무 큰 수라면 c++도 맞는 숫자 자료형이 없으니 자바스크립트도 문자열로 바꿔서 연산해야겠지만 우리 부족하신 자바스크립트님은c++의 long long 범위의 해당하는 자료형도 없으셔서 21억 까지인 int 형을 넘어가면 c++의 long long 의 범위를 가지는 BigInt를 사용해서 수를 표현해야 하는데 BigInt는 숫자 자료형이 아닌 독립된 Object 객체이므로, js 내장 함수를 통한 대부분의 연산은 사용 할 수 없다 Math. 로 시작하는 내장함수들은 당연히 안되고 다른 숫자 자.. 2022. 8. 14. filter 함수 사용법 자바스크립트내에는 요소들을 돌며 체크해서 조건에 맞는 것만 배열로 리턴시켜주는 filter라는 함수가 있다 요소를 돌아야 하므로 배열이나 문자열같은 반복자가 돌 수 있는 곳만 사용 가능하다 기본 형태는 다음과 같다 배열.filter(요소의 조건을 체크할 함수) // 배열 외에 문자열 등도 가능 반드시 3개의 인자를 다 쓸 필요는 없으며 필요하면 1, 2, 3 개의 인자를 자유롭게 사용하면 된다 예를 들어 arr = '1, 2, 3, 4, 5'; 라고 할때 이를 요소별로 나누고(split), 나눈 요소들이 조건에 맞는 것만 취하려고 할때(filter) 를 사용하면 된다 위의 arr 중에 3이상인 요소만 따로 배열 arr2로 받으려고 하면 // 앞 뒤 공백이 없으니 trim 은 생략하겠다 arr2 = arr.. 2022. 8. 12. 빈 문자열을 split 하면 빈 문자열이 담긴 배열을 리턴한다 주어진 문자열이 빈 문자열이고 그 빈 문자열을 split 하면 빈 문자열이 배열에 담겨 리턴된다 배열이 빈게 아니라 빈 문자열이 그대로 배열에 담기게 되니 주의하자 let arr = []; input = ''; arr = input.trim().split(' '); // 공백 말고도 split(/\s+/) 과 같이 정규 표현식으로 해도 마찬가지 결과다 console.log(arr) // [""] 빈 문자열이 하나의 요소로 들어가므로 arr.length === 1 이 되고 arr[0] = '' 이 된다 진짜 자바스크립트 넌 왜 이렇게 만들었대; 아오... 2022. 8. 12. 이전 1 2 3 4 다음