coding/JS

filter, set, replace

JIN_Coder 2022. 7. 17. 14:32

filter

특정 조건을 만족하는 새로운 배열을 만들때 사용

const numbers = [1, 2, 3, 4, 5];
const result = numbers.filter(number => number > 3);

console.log(numbers);
// [1, 2, 3, 4, 5];

console.log(result);
// [4, 5]

// for문을 이용
for (i = 0; i < numbers.length; i++) {
    if (numbers[i] > 3) {
        result.push(numbers[i]);
    }
}

console.log(result);
// [4, 5]

 

filter(요소 값, index, 순회하는 대상 객체)

Boolean 값인 true 또는 false 값을 반환하는 함수를 등록

 

배열의 중복 제거

const numbers = [1, 1, 2, 2, 3, 4, 5];

const newNumbers = numbers.filter((number, index, target) => {
    return target.indexOf(number) === index;
});

console.log(newNumbers);
// [1, 2, 3, 4, 5]

++ indexof
indexOf() 메서드는 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환합니다.

 

 

Javascript - Array filter 사용법

이번에는 Javascript의 array가 가진 filter 함수의 정의와 사용법 더불어 활용법에 대해 이야기해보려고 합니다. array의 함수 중 가장 많이 쓰이는 함수 중 3 대장이라고 할 수 있는 것이 map, filter, reduc

7942yongdae.tistory.com

 

 

set 중복제거

let arr [1,2,3,4,5,,5,2,4,1]

arr2 = [...new Set(arr1)]

console.log(arr2) // [1,2,3,4,5]

...의 의미는 스프레드문법?이라고 하여 퍼트려줌 arr1의 요소를 하나하나 퍼트려서 set으로 중복을 제거하여 [ ] 안에 설정

 

 

문자열 변환
replace()

String 타입은 replace()함수를 제공

replace()는 먼저 검색되는 1개의 문자열만 변환

여러 문자열을 변환할 때는 정규 표현식을 이용하여 일치하는 모든 문자열을 변환할 수 있음

 

replace('old', 'new')

let str = 'Hello world, Java';

str = str.replace('Java', 'JavaScript');

console.log(str); //Hello world, JavaScript

바꾸려는 문자열이 여러개 있어도, 가장 먼저 찾은 문자열 1개만 변환

let str = 'Hello world, Java, Java, Java';

str = str.replace('Java', 'JavaScript');
console.log(str); // Hello world, JavaScript, Java, Java

 

정규식을 이용하여 모든 문자열 치환

replace(/[old str]/g, '[new str]')

let str = 'Hello world, Java, Java, Java';

str = str.replace(/Java/g, 'JavaScript');

console.log(str); // Hello world, JavaScript, JavaScript, JavaScript

정규표현식은 /Pattern/flag처럼 패턴과 플래그로 구성

주의할 점은 찾으려는 문자열에 따옴표를 입력하지 않아야 함

플래그 g는 모든 문자열을 변환하라는 의미

 

대소문자 구분하지 않고 문자열 치환

let str = 'Hello world, Java, Java, Java';

str = str.replace(/java/gi, 'JavaScript');
console.log(str); // Hello world, JavaScript, JavaScript, JavaScript

대소문자를 구분하지 않고 변경하려면 아래처럼 플래그에 i를 추가

 

 

JavaScript - 문자열 바꾸기(replace, 정규식 치환)

String 타입은 replace()함수를 제공하며 이것을 이용하여 문자열의 특정 문자열을 다른 문자열로 변환할 수 있습니다. replace()는 먼저 검색되는 1개의 문자열만 치환하는데요, 여러 문자열을 변환할

codechacha.com

 

'coding > JS' 카테고리의 다른 글

slice, 정규식  (0) 2022.07.18
JWT, API  (0) 2022.07.17
map  (0) 2022.07.16
회원가입 유효성 검사  (0) 2022.05.06
사진 업로드  (0) 2022.05.03