HTML CSS 자바스크립트
배열과 반복문 JS 회문 검사 배열 변형
aiyoon
2025. 5. 21. 17:12
반응형
🧪 회문(Palindrome) 체크 자바스크립트
const check1 = (e) => {
// e.preventDefault(); // 기본 동작 막기
let txt1 = document.getElementById("txt1").value;
// 공백 제거
txt1 = txt1.replaceAll(" ", '');
// 문자열 뒤집기
let s = '';
for (let i = txt1.length - 1; i >= 0; i--) {
s = s + txt1[i];
}
// 비교 후 결과 출력
if (txt1 == s) {
document.getElementById("txt2").value = "회문입니다.";
} else {
document.getElementById("txt2").value = "회문이 아닙니다.";
}
};
const check2 = () => {
console.log('check2');
};
📌 공백 제거 방식
- 여러 개 제거: replaceAll(" ", '')
- 하나만 제거: replace(" ", '')
🎰 로또 번호 생성 및 스타일 분류
번호 범위스타일 클래스
번호 범위 | 스타일 클래스 |
1 ~ 9 | sp0 |
10 ~ 19 | sp1 |
20 ~ 29 | sp2 |
30 ~ 39 | sp3 |
40 ~ 45 | sp4 |
📦 배열 다루기 기본
배열 선언
let arr1 = [];
let arr2 = [1,2,3];
let arr3 = new Array();
let arr4 = new Array(1,2,3);
배열 초기화
js
arr4 = []; // 또는 arr4.length = 0;
랜덤 숫자 추가
js
let n = Math.floor(Math.random() * 5) + 1; // 1~5 arr4.push(n);
배열 순회
// 일반 for문
for (let i = 0; i < arr2.length; i++) console.log(arr2[i]);
// for...in (index 기준)
for (let i in arr2) console.log(arr2[i]);
// for...of (값 기준)
for (let val of arr2) console.log(val);
// entries()
for (let [i, v] of arr2.entries()) {
console.log(`index= ${i}, value=${v}`);
}
// forEach
arr2.forEach((v, i) => {
console.log(`index= ${i}, value=${v}`);
});
🧪 배열 변형(map, filter 등)
map() - 배열 요소 변형
let arr5 = arr2.map(item => item * 2);
// 동일한 동작의 for문
let arr51 = [];
for (let n of arr2) arr51.push(n * 2);
filter() - 조건에 맞는 요소만 추출
// 짝수만 추출
let arr6 = arr2.filter(item => item % 2 == 0);
// 동일한 동작의 for문
let arr61 = [];
for (let n of arr2) {
if (n % 2 == 0) arr61.push(n);
}
🔁 전개 연산자 (Spread Operator)
js
// 배열 합치기
let arr7 = [...arr5, ...arr6]; console.log(arr7);
...배열명은 배열 내부의 요소를 개별 값으로 확장시킴
반응형