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);
 

...배열명은 배열 내부의 요소를 개별 값으로 확장시킴

 

 

 

반응형