💪Array Cardio ' Array.prototype '
1. filter() : 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다. filter는 배열 내 각 요소에 대해 한번 제공된 callback 함수를 호출해서, callback이 true로 반환하는 모든 값이 있는 새로운 배열을 생성한다. callback 테스트를 통과하지 못한 요소는 그냥 건너뛰며 새로운 배열에 포함되지 않는다.
- arr.filter(callback(element[, index[, array]])[, thisArg])
const result = inventors.filter(
(data) => data.year < 1600 && data.year >= 1500
);
2. map() : 배열 내의 모든 요소 각각에 대해 주어진 함수를 호출한 결과를 모아 새로운 배열 반환한다. 배열의 각 요소에 대해 한번씩 순서대로 실행한 callback함수의 결과를 모은 새로운 배열을 반환한다.
- arr.map(callback(currentValue[, index[, array]])[, thisArg])
const result2 = inventors.map((data) => `${data.first} ${data.last}`);
3. sort() : 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. compareFunction이 제공되지 않으면 요소를 문자열로 변환하고 유니 코드 코드 포인트 순서로 문자열을 비교하여 정렬한다. 9와 80이 있을 때 문자열로 비교되기 때문에 유니코드 순서에 따라 80 9순서로 정렬된다는 것이다.
compareFunction(a,b)이 <0 인 경우, a<b 로 정렬한다.
compareFunction(a,b)이 >0 인 경우, b<a로 정렬한다.
- arr.sort([compareFunction(a,b)])
const result3 = inventors.sort((a, b) => {
if (a.year > b.year) {
return 1;
} else {
return -1;
}
});
const result4 = inventors.sort((a, b) => (a.year > b.year ? 1 : -1));
const numbers=[4,2,5,1,6];
// 오름차순
numbers.sort(function(a,b) {
return a-b ;
});
// 내림차순
numbers.sort((a,b) {
return b-a ;
});
4. reduce() : 배열의 각 요소에 대해 주어진 리듀서 함수를 수행해 하나의 결과값 반환. 리듀서 함수는 누산기, 현재 값, 현재 인덱스, 원본배열 4개의 인자를 가진다.
const arr =[0,1,2,3,4];
arr.reduce(function(accumulator, currentValue, currentIndex, array){
return accumulator + currentValue;
});
//0 + 1 + 2 + 3 + 4
arr.reduce(function(accumulator, currentValue, currentIndex, array){
return accumulator + currentValue;
}, 10);
//10 + 0 + 1 + 2 + 3 + 4
arr.reduce((prev, curr)=> prev+curr);
💁♀️ split() :String 객체를 지정한 구분자를 이용해 여러 개의 문자열로 나눈다.
- str.split([separator[, limit]])
const str = "hello my name is lazy dog";
const words = str.split(" "); //공백 기준 나누기
const str2 = "hello, my, name, is, lazy, dog";
const words2 = str2.split(", "); //,공백 기준 나누기
💁♀️ Spread Operator : 스프레드 연산자를 이용하면 배열이나 문자열, 객체와 같이 반복 가능한 문자를 동일한 인덱스에 동일한 요소로 복사할 수 있다.
const arr = [1,2,3,4,5];
const arr2 = [...arr, 6,7,8];
// 1,2,3,4,5,6,7,8
const str1 = 'paper';
const str2 = [...str1];
//str2="p","a","p","e","r"
'🙆♀️ FE > JavaScript' 카테고리의 다른 글
Virtual Scroll 구현 도전기 (0) | 2024.07.02 |
---|---|
Event Capture & Event Bubble (0) | 2021.03.17 |
javascript30-03 (0) | 2021.02.27 |
javascript30-02 (0) | 2021.02.25 |
javascript30-01. (0) | 2021.02.25 |