- splice : 특정 요소를 지우고 (추가하고) 싶다면???
arr.splice(n, m, x) : 특정 요소 지움
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 2);
console.log(arr);
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 3, 100, 200);
console.log(arr);
let arr = ["나는","홍길동","입니다"];
arr.splice(1, 0, "코딩", "마스터");
console.log(arr);
let arr = [1, 2, 3, 4, 5];
let answer = arr.splice(1, 2);
console.log(arr);
console.log(answer);
- slice : 특정 요소를 반환하고 싶다면???
arr.slice(n, m) : n부터 m앞까지 봔환해라~
let arr = [1, 2, 3, 4, 5];
arr.slice(1, 4);
console.log(arr);
let arr = [1, 2, 3, 4, 5];
let arr2 = arr.slice();
console.log(arr2);
- concat : 배열을 합치고 싶다면???
arr.concat(arr2, arr3 ......) : 합쳐서 새배열로 반환!
let arr = [1, 2];
arr.concat([3,4]);
arr.concat([3,4],[5,6]);
arr.concat([3,4],5,6);
- indexOf : 특정 요소의 위치 가져오기!
arr.indexOf(n, m);
let arr = [1, 2, 3, 4, 5, 1, 2, 3]
arr.indexOf(3);
arr.indexOf(3,3);
arr.lastindexOf(3);
let arr = ['가', '나', '다', '라', '마'];
arr.indexOf('라')
- includes : 특정 요소를 포함하는지 확인하고 싶다면???
arr.includes() : 포함하는지 확인!
let arr = [1, 2, 3];
arr.includes(2);
arr.includes(7);
let arr = ['가', '나', '다', '라', '마'];
arr.includes('나');
arr.includes('사');
- filter : 만족하는 모든 요소를 배열로 반환하고 싶다면???
let arr = [1, 2, 3, 4, 5, 6];
const answer = arr.filter((item) => {
return item % 2 === 0;
});
console.log(answer);
let arr = ['가', '나나', '다', '라라라', '마마마마'];
const answer = arr.filter((item) => {
return item.length > 2;
});
console.log(answer);
- reverse : 역순으로 재정렬을 하고싶다면???
let arr = [1, 2, 3, 4, 5];
arr.reverse();
- map : 반복!!반복!!반복!!반복!!
map, key 리액트는 가상 DOM 에 무언가 올라가고 진짜 DOM과 비교할때 어떤게 바뀌 었는지 비교할떄 필요한 값이 키이다 각 요소마다 키는 자동으로 들어간다 절대로 중복되지 않게 가지고 있는데 map은 return할떄 키 값을 지정해 준다 보통 map의 index로 키값을 정해준다
let a = [1,2,3,4]
let newa = a.map ( (데이터, 인덱스) => {
return 데이터*2
});
console.log(newa)
let userList = [
{ name : "Mike", age : 30 },
{ name : "Jane", age : 20 },
{ name : "Tom", age : 10 },
];
let newUserList = userList.map( (user, idx) => {
console.log(user, idx);
return Object.assign({}, user, {
id : idx + 1,
isAdult : user.age > 19,
});
});
console.log(userList);
[
{ name: 'Mike', age: 30 },
{ name: 'Jane', age: 20 },
{ name: 'Tom', age: 10 }
]
console.log(newUserList);
[
{ name: 'Mike', age: 30, id: 1, isAdult: true },
{ name: 'Jane', age: 20, id: 2, isAdult: true },
{ name: 'Tom', age: 10, id: 3, isAdult: false }
]
- join : 배열을 합쳐서 문자열을 만들고싶다면??
let arr = ['역시', '코드스니펫이', '최고야'];
let newArr = arr.join();
console.log(newArr);
let arr = ['역시', '코드스니펫이', '최고야'];
let newArr = arr.join(' ');
console.log(newArr);
let arr = [1,2,3,4,5,6,7,8,9,0];
let newArr = arr.join('-');
console.log(newArr);
- split : 문자열을 배열로 나누고싶다면??
const bug = "나는,개똥벌레,친구가,없네";
const answer = bug.split(",");
console.log(answer)
const bug = "나는 개똥벌레 친구가 없네";
const answer = bug.split("");
console.log(answer)
[
'나', '는', ' ', '개',
'똥', '벌', '레', ' ',
'친', '구', '가', ' ',
'없', '네'
]
const email = "qwer@naver.com"
const id = email.split("@")
console.log(id)
console.log(id[0])
- sort : 배열을 재정렬을 하고싶다면???
let arr = [2, 4, 1, 5, 3];
arr.sort();
console.log(arr);
let arr = ['라', '가', '다', '나', '마'];
arr.sort();
console.log(arr);
!!!!!! 주의 !!!!!!
let arr = [27, 8, 5, 13];
arr.sort();
console.log(arr);
!!!!!! 주의 !!!!!!
let arr = [27, 8, 5, 13];
arr.sort((a, b) => {
return a - b;
});
console.log(arr);
a - b 를 해주는 이유는 console.log(a, b); 를 찍어보면 알수있는대
8 27
5 8
13 5
13 8
13 27
이와 같이 동작하며 값을 하나씩 비교해봐서 a - b 를 했을때
음수가 나오면 a 보다 b 가 크다
양수가 나오면 a 보다 b 가 작다 로 구분하여 정렬한다.
- reduce : 배열의 모든수를 합치고싶다면???
let arr = [1, 2, 3, 4, 5];
const answer = arr.reduce( (누적계산값, 현재값) => {
return 누적계산값 + 현재값;
}, 0);
console.log(answer);
let userList = [
{ name : "Mike", age : 30 },
{ name : "Tom", age : 10 },
{ name : "Jane", age : 27 },
{ name : "Sue", age : 26 },
{ name : "Harry", age : 42 },
{ name : "Steve", age : 7 },
];
let answer = userList.reduce((누적계산값, 현재값) => {
if (현재값.age > 19) {
누적계산값.push(현재값.name);
}
return 누적계산값
}, []);
console.log(answer)
let userList = [
{ name : "Mike", age : 30 },
{ name : "Tom", age : 10 },
{ name : "Jane", age : 27 },
{ name : "Sue", age : 26 },
{ name : "Harry", age : 42 },
{ name : "Steve", age : 7 },
];
let answer = userList.reduce((누적계산값, 현재값) => {
if (현재값.name.length === 3) {
누적계산값.push(현재값.name);
}
return 누적계산값
}, []);
console.log(answer)