본문 바로가기
JavaScript

자주 쓰이는 배열 APIs

by 갈잃자 2023. 5. 12.

array.push('값')

  • 배열 끝에 새로운 값을 붙여줌

array.pop()

  • 배열 끝에 있는 값을 빼줌

array.shift()

  • 배열 가장 앞에 값을 빼줌

array.unshift('값')

  • 배열 가장 앞에 값을 붙여줌

array.splice(a,b)

  • 배열의 a index 부터 b만큼 제거

array.concat(array2)

  • array와 array2 를 결합

array.includes('값')

  • array 안에 값이 있다면 true 없다면 false

array.join()

  • 배열을 문자열로 합침

string.split('기준')

  • 문자열을 기준을 기준점으로 배열로 변환함

array.slice(st, ed)

  • 배열의 st index 부터 ed -1 index 까지 지닌 새로운 배열을 생성

array.find(callback 함수)

  • 배열내에 callback 함수의 return 값이 true 가 되는 값이 있다면 true를 출력
  • forEach와 같이 배열 전체를 돌며 callback 함수에 적용
// ex) array.find()
const result = students.find((student) => {return student.score === 90})
// 학생중 점수가 90점인 학생이 있다면 result는 true
// 없다면 result 는 false

array.filter()

  •  callback 함수의 return이 true인 요소들만 모아 새로운 배열을 만듬
  • find와 비슷
// ex) array.filter()
const result = students.filter((student) => {return student.enrolled});
// enrolled가 true인 요소들만 모아 result 라는 새로운 배열 생성

array.map()

  • 배열안에 들어있는 모든 요소들을 전달해준 callback 함수로 호출하며, callback 함수에서 가공된 return 값으로 대체됨
//ex) array.map()
const result = student.map((student) => {return student.score});
// 학생들의 점수만 뽑아 result라는 새로운 배열 생성

array.some()

  • 배열 요소중에 callback 함수의 return이 하나라도 true가 있는지 없는지 확인함
// ex) array.some()
const result = students.some((student) => {return student.score < 50});
// 학생들 중 한명이라도 50점이하인 학생이 있다면 true, 아니라면 false

array.every

  • 배열 요소중에 callback 함수의 return이 모두 true인지 확인함
// ex) array.every()
const result = students.every((student) => {return student.score>=50});
학생들 모두 점수가 50점 이상이면 true 아니면 false

array.reduce()

  • 배열을 돌며, 누적값을 만드는데 활용
// ex) array.reduce()
const result = array.reduce((prev, curr) => {return prev + curr},0);
// prev: 이전값, curr: 현재값
// return 값이 없다면 prev 값이 없음
// ,0: 시작값을 지정

array.reduceRight()

  • 배열요소를 거꾸로 돌며, 누적값을 만듬
ex) array.reduceRight()
const result = array.reduceRight((prev, curr) => {return prev + curr.score},0);

array.sort()

// ex)array.sort()
// 올림차순 정렬
array.sort((a,b) => a-b)
// 내림차순 정렬
array.sort((a,b) => b-a)

댓글