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을 반환합니다.
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를 추가
'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 |