arg
가 배열인지 아닌지
유사배열객체 or 이터러블객체인 arg
를 배열로 만들어서 반환함
전달된 인수 arg
를 갖는 배열을 반환
arg1
는 검색할것, arg2
는 시작할 인덱스 위치
찾으면 찾은 인덱스 위치를 반환하고, 아니면 -1를 반환함
배열에 arg
의 포함여부에 따른 T/F반환
arg
를 배열의 맨뒤에 추가한 새로운 배열을 반환함
arg
를 구분자로 하는 문자열로 반환함 ( 생략시 ,
)
arg
를 배열의 맨뒤에 추가
배열의 맨뒤요소 제거후 반환
배열의 전체 요소의 순서를 반대로 변경
배열의 첫번째 요소 제거후 반환
배열의 첫번째에 arg
추가
배열의 arg1
부터 arg2
까지 복사해서 반환 ( arg2
가 없을경우 끝까지 )
1차적으로는 얕은복사를 하지만 내부에 있는것들은 깊은복사를 함
arg1
: 시작위치arg2
: 제거할 요소의 개수arg3
: 추가할 요소들제거한 요소들을 반환함
함수를 인수로 받거나, 함수를 반환하는 함수를 의미함
함수는 일급객체이므로 인수로 받거나 반환값으로 사용할 수 있음
배열의 정렬기준을 func
라는 함수를 통해서 받아서 정렬함
const arr = [3, 1, 2, 5, 4];
// 반환값이 양수면 오름차순
arr.sort((a, b) => a - b);
console.log(arr); // 1, 2, 3, 4, 5
// 반환값이 음수면 내림차순
arr.sort((a, b) => b - a);
console.log(arr); // 5, 4, 3, 2, 1
배열의 모든 요소에 전달함수인 콜백함수를 실행함
반환값은 undefined
두번째 인자로 this를 지정할 수 있음
const arr = [1, 2, 3];
const arr2 = [];
arr.forEach((v, i, self) => arr2.push(v * 2));
console.log(arr2); // 2, 4, 6
배열의 모든 요소에 전달함수인 콜백함수를 실행함
실행한 반환값들을 모아서 새로운 배열을 만들어서 반환함
두번째 인자로 this를 지정할 수 있음
const arr = [1, 2, 3];
const arr2 = arr.map((v, i, self) => v * 2);
console.log(arr2); // 2, 4, 6
배열의 모든 요소에 전달함수인 콜백함수를 실행함
실행한 반환값들중에서 true인 값만 모아서 새로운 배열을 반환함
두번째 인자로 this를 지정할 수 있음
const arr = [1, 2, 3, 4, 5];
const arr2 = arr.filter((v, i, self) => v % 2 === 0);
console.log(arr2); // 2, 4
배열의 모든 요소에 전달함수인 콜백함수를 실행함
이전에 반환한 값이 prev
에 들어옴
현재 요소의 값이 current
에 들어옴
배열의 모든 요소를 순회한뒤에 prev
값을 반환함
initValue
는 맨 처음 prev
값을 지정할 수 있고, 없을 경우 첫번째요소값으로 지정됨
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((prev, current, i, self) => prev + current);
console.log(sum); // 15
배열의 모든 요소에 전달함수인 콜백함수를 실행함
모든 요소 순회중에 하나라도 true가 나오면 즉시 멈추고 true반환, 아니면 전부 순회하고 false반환
두번째 인자로 this를 지정할 수 있음
const arr = [1, 2, 3, 4, 5];
const result1 = arr.some((v, i, self) => v >= 3); // 1, 2, 3까지만 순회 후 true반환
const result2 = arr.some((v, i, self) => v >= 10); // 전체 순회후 false반환
console.log(result1); // true
console.log(result2); // false
배열의 모든 요소에 전달함수인 콜백함수를 실행함
모든 요소 순회중에 하나라도 false가 나오면 즉시 멈추고 true반환, 아니면 전부 순회하고 true반환
두번째 인자로 this를 지정할 수 있음
const arr = [1, 2, 3, 4, 5];
const result1 = arr.every((v, i, self) => v <= 3); // 1, 2, 3까지만 순회 후 false반환
const result2 = arr.every((v, i, self) => v >= 0); // 전체 순회후 true반환
console.log(result1); // false
console.log(result2); // true
배열의 모든 요소에 전달함수인 콜백함수를 실행함
반환값이 첫 번째로 참인 요소를 반환하고 반복중지
두번째 인자로 this를 지정할 수 있음
const person = [
{ _id: 1, name: "a" },
{ _id: 2, name: "b" },
{ _id: 3, name: "b" },
];
const target = person.find((v, i, self) => v.name === "b");
console.log(target); // { _id: 2, name: "b" }
배열의 모든 요소에 전달함수인 콜백함수를 실행함
반환값이 첫 번째로 참인 요소의 인덱스를 반환하고 반복중지
두번째 인자로 this를 지정할 수 있음
const person = [
{ _id: 1, name: "a" },
{ _id: 2, name: "b" },
{ _id: 3, name: "b" },
];
const targetIndex = person.find((v, i, self) => v.name === "b");
console.log(targetIndex); // 2