[자바스크립트] 반복메소드(반복문) + 배열 처리

  • forEach, for, while (일반적인 반복문)
const array1 = ['a', 'b', 'c'];

array1.forEach(element => console.log(element));
  • map (배열 반환)
const array1 = [1, 4, 9, 16];

const map1 = array1.map(x => x * 2);

console.log(map1);
// 결과 [2, 8, 18, 32]
  • filter (조건에 따라 true인 값만 배열로 반환)
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter(item => item.length > 6);

console.log(result);
// 결과 ["exuberant", "destruction", "present"]
  • reduce (배열 값을 조합해서 하나의 값으로 반환)
const array1 = [1, 2, 3, 4];
const reducer = (accumulator, currentValue) => accumulator + currentValue;

console.log(array1.reduce((accumulator, currentValue) => accumulator + currentValue));
// 결과 10
  • some (조건에 따라 true인 값이 있으면 바로 true 반환, 없으면 false 반환)
let arr = [2, 4, 6, 8, 10, 12, 14, 22, 99, 100];
let choose12 = arr.some((value) => {
    if (value === 12) {
        return true;
    }
});

// 결과 true (12에서 break)
  • every (조건에 따라 모든 원소가 true 이면 true 반환, 하나라도 false 이면 false 반환)
let arr = [2, 4, 6, 8, 10, 11, 14, 22, 99, 100];
let isEven = arr.every((value) => {
    if (value % 2 === 0) {
        return true;
    }
});

// 결과 false (11에서 break)

  • 배열의 첫번째 값과 나머지 값을 분리
  • let arr = [2, 4, 6, 8, 10, 11, 14, 22, 99, 100];
    const [firstval, ...otherVals] = arr;
    
    console.log(firstVal); // 결과 2
    console.log(otherVals); // 결과 [4,6,8,10,11,14,22,99,100]
    

  • 배열의 중복값 제거
  • let arr = [2, 4, 6, 4, 10, 3];
    arr = [...new Set(arr)];
    
    console.log(arr); // 결과 [2, 6, 10, 3]
    

  • 배열의 null, undefined, false 값 제거 (filter 메소드 응용)
  • let arr = [1, undefined, "dd", null, false, true];
    let filteredArr = arr.filter(Boolean);
    
    console.log(filteredArr); // 결과 [1, "dd", true]
    

    Leave a Comment