['a','b','c'].join(' ') === 'a b c'
['12','34','ab','345'].join('@') === "12@34@ab@345"
필요한 구분을 join을 통해 할 수 있다.
'abc'.split('') === ["a", "b", "c"]
split의 2번째 인자에 숫자를 넣으면 해당 숫자의 갯수만큼만 배열을 반환해낸다.
'abc'.split('',2) === ["a", "b"]
let a = ['a','b','c']
a.reverse() //["c", "b", "a"]
a //["c", "b", "a"]
4) 5) 내용은 이곳을 참조
['a','b','c','c'].find(element=>element=='c')
c에 부합하는 값이 있다면 리턴한다. (2번째위치인 'c'만 리턴)
['a','b','c','c'].filter(element=>element=='c') //["c", "c"]
부합하는 전부 리턴한다.
let a = [1,2,3,4];
a.map(x=>x*2); //[2, 4, 6, 8]
a //[1,2,3,4]
[1,2,3,4].some(x=>4) //true
[1,2,3,4].some(x=>5) //false
해당 4라는 값이 배열에 존재하므로 하나라도 만족하여 true
해당 5라는 값이 배열에 존재하지 않으므로 하나도 만족하지 않아 false
[1,2,3,4].every(x=>Number.isInteger(x)==true) //true
[1,2,3,'a'].every(x=>Number.isInteger(x)==true) //false
모두 정수인지 확인하는 방법에서도 사용할 수 있다.
students.reduce((prev,curr)=>prev+curr,0)
1) 누산기 acc
2) 현재값 cur
3) 현재 인덱스 idx
4) 원본배열 src
[10,20,40,80,200].reduce((prev,curr)=>prev+curr,0)
prev | curr | |
---|---|---|
1 | 0 | 10 |
2 | 10 | 20 |
3 | 30 | 40 |
4 | 70 | 80 |
5 | 150 | 200 |
6 | 150 | 350 (마지막 return의 결과) |
students.reduce((prev,curr)=>prev+curr,0)
1) 누산기 acc
2) 현재값 cur
3) 현재 인덱스 idx
4) 원본배열 src
[10,20,40,80,200].reduce((prev,curr)=>prev+curr)
prev | curr | |
---|---|---|
1 | 10 | 20 |
2 | 30 | 40 |
3 | 70 | 80 |
4 | 150 | 200 |
5 | 150 | 350 (마지막 return의 결과) |
String에서의 특정 위치의 알파벳을 검색
=> 맨 마지막 배열의 위치를 사용가능
ex)
let a = "str";
const a_length = a.length;
console.log(
a.charAt(a.length - 1) === a[a.length - 1],
a[a.length - 1] === a.charAt(a_length - 1)
);
둘다 true
let a = "abc";
// 특정 10자리까지 마지막 자리를 반복하고 싶을때
const len = a.length;
a = len > 10 ? a : a + a.charAt(len - 1).repeat(10 - len);
console.log(a);
문자든 배열이든 합친다.
[1,2,3].concat([4,5,6]); //배열 + 배열 => 배열
[1,2,3].concat('abc'); //배열 + 문자 => 문자
'edf'.concat('abc'); //문자 + 문자 => 문자