반응형
1. concat()
인자로 주어진 값이나 배열을 기존에 합쳐서 새로운 배열 반환.
// array1.concat(array2, array3, ..., arrayX)
var a = [1,2]
var b = [3,4]
var c = a.concat(b)
var c // 1,2,3,4
2. every()
조건을 테스트해서 true, false 반환.
// array.every(function(currentValue, index, arr), thisValue)
var _a = [1,2,3,4]
var chkNum = function chkNum(v) {
return v < 5;
};
_a.every(chkNum);
// true;
3. fill()
시작 인덱스부터 끝 인덱스 전까지 원하는 값으로 채움.
// array.fill(value, start?, end?)
var _a = [1,2,3]
_a.fill(0, 0, 2);
// [0,0,3]
#es6
4. filter()
주어진 함수를 만족하는 값으로 변경된 배열을 반환.
// array.filter(function(currentValue, index, arr), thisValue)
var _a = [5, 0, 105, -1, 93, -57, 265];
var chkValue = function chkValue(v) {
return v > 0;
};
_a.filter(chkValue);
// [5, 105, 93, 265]
5. find()
주어진 함수를 만족하는 첫번째 값을 반환.
// array.find(function(currentValue, index, arr),thisValue)
var _a = [5, 0, 105, -1, 93, -57, 265];
var chkValue = function chkValue(v) {
return v < 0;
};
_a.find(chkValue);
// [-1]
#es6
6. forEach()
주어진 함수에 대해 배열 요소를 각각 실행.
// array.forEach(function(currentValue, index, arr), thisValue)
var _a = [1, 2];
_a.forEach(function(value, index) {
console.log(`${value} : [${index}]`);
});
// 1 : [0]
// 2 : [1]
- 브레이크는 없기때문에 브레이크가 필요하다면 for 사용.
- return 불가능(즉 함수를 새로운 변수에 담을 수 없고, 실행만 가능).
7. includes()
배열에 해당하는 값이 있나 확인해서 true, false 반환.
// array.includes(element, start)
var _a = [1, 2];
_a.includes(2);
// true
indexOf()와 다른 점
- NaN, undefined 구분 가능
- -0과 +0 구분 불가능
#es7
8. map()
배열 내 모든 요소에 대해 주어진 함수를 호출한 결과를 모아 새로운 배열로 반환.
// array.map(function(currentValue, index, arr), thisValue)
var _a = [0,2,4];
var map = function(x) {
return x + 2;
};
_a.map(map);
// [2, 4, 6]
9. reduce()
배열의 각 요소에 대해 주어진 함수를 실행하여 하나의 값을 반환.
// array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
var _a = [100, 10, 5];
var reduce = function(acc, cur) {
return acc / cur;
};
_a.reduce(reduce);
// 2
// 만약 배열 안에 객체가 있다면 다음과 같이 초기값 0을 넣어줘야함.
var _a = [{x:1}, {x:2}, {x:3}];
var reduce = function(acc, cur) {
return acc + cur.x;
};
_a.reduce(reduce, 0);
// 6
10. reduceRight()
reduce()랑 똑같은데 그냥 오른쪽 --> 왼쪽 방향이 다름.
// array.reduceRight(function(total, currentValue, currentIndex, arr), initialValue)
var _a = [[1,2], [3,4]];
var reduce = function(acc, cur) {
return acc.concat(cur);
};
_a.reduceRight(reduce);
// [3, 4, 1, 2]
* concat() vs push()
공통점: 배열 맨 뒤에 값을 추가함.
차이점:
var a = [1,2,3];
var b = [4,5];
a.concat(b);
// [1,2,3,4,5] 값을 추가하여 리턴
console.log(a);
// [1,2,3]
a.push(b);
// 4 통째로 추가하고 그 길이를 리턴
console.log(a);
// [1,2,3,[4,5]]
*indexOf() vs search()
공통점: 해당값과 일치하는 값의 첫번째 인덱스 리턴, 없으면 -1 리턴
차이점:
var a = 'Ur beautiful, Ur gorgeous';
a.indexOf('Ur', 5);
// 14
// 시작 위치를 정하는게 가능.
var a = 'Ur beautiful, ur gorgeous';
a.search(/ur/i);
// 0
// 정규표현식 가능.
// /문자열/i라고 쓰면 대소문자 가리지않고 찾아줌.
'Javascript' 카테고리의 다른 글
🌟추천🌟유용한 array (0) | 2021.01.16 |
---|---|
🌟추천🌟원시값과 참조값, 그리고 mutate와 assignment (0) | 2020.12.26 |
😭원시값, 객체, undefined, false, 연산자... (0) | 2020.11.08 |
자바스크립트 : 배열에서 서로 값 바꾸고 싶을때 (0) | 2019.12.18 |
자바스크립트 : 원하는 특정 문자 바꾸기 (0) | 2018.09.27 |