상세 컨텐츠

본문 제목

자바스크립트 배열, 객체 관련 자주 쓰이는 함수 정리(필독!)

CODING/Javascript

by 뚜뚜 DDUDDU 2022. 5. 29. 16:59

본문

개발하면서 엄청나게 자주 사용한 함수(데이터 및 배열관리시 필수)들을 정리했던 내용이다.

 


 

두 배열의 교집합 찾기

const a2 = [1, 2, 3];
const a3 = [1, 2, 3, 4];
 
console.log(a2.filter(x=> a3.includes(x)));

 

 

두 배열의 차집합 찾기

 

const a2 = [1, 2, 3]; 
const a3 = [1, 2, 3, 4];

console.log(a2.filter(x=> !a3.includes(x)));

 

객체 배열에서 속성 값 배열로 추출

방법 1

다음 구조의 JavaScript 객체 배열이 있다.

objArray = [ { foo: 1, bar: 2}, { foo: 3, bar: 4}, { foo: 5, bar: 6} ];

각 객체에서 필드를 추출하고 값을 포함하는 배열을 가져 오려고 한다면?

( : field foo array) [ 1, 3, 5 ].

function getFields(input, field) {
    var output = [];
    for (var i=0; i < input.length ; ++i)
        output.push(input[i][field]);
    return output;
}

var result = getFields(objArray, "foo"); // returns [ 1, 3, 5 ]

 

방법 2

var result = objArray.map(a => a.foo);

 

 

배열 1개에서 중복값 제거

const uniqueArr = dupArr.filter((element, index) => {

    return dupArr.indexOf(element) === index;

});

 

 

배열의 평균 값

 

const average = arr => arr.reduce((p, c) => p + c, 0) / arr.length;

const array = [1, 2, 3, 4, 5]
average(array)  // 3

 

배열에 특정 값이 포함되어있는지 여부 확인

jobForFork?.like?.find((v) => v?.id === id);

 

배열 정렬

단순화하기

const arr = [2, 1, 3, 10];

arr.sort(function(a, b)  {
  return a - b;
});

 

두 숫자의 차가 음수값이냐, 양수값이냐를 이용해서

숫자 오름차순으로 정렬하는 것을 단순화

 

const arr = [2, 1, 3, 10];

arr.sort(function(a, b)  {
  return b - a;
});

 

내림차순 정리

(객체일 경우)

const arr = [
  {name: 'banana', price: 3000},
  {name: 'apple', price: 1000},
  {name: 'orange', price: 500}
];

arr.sort(function(a, b) {
  return a.price - b.price;
});

 

(문자 오름차순)

const arr = ['banana', 'b', 'Boy'];

arr.sort(function(a, b) {
  const upperCaseA = a.toUpperCase();
  const upperCaseB = b.toUpperCase();

  if(upperCaseA > upperCaseB) return 1;
  if(upperCaseA < upperCaseB) return -1;
  if(upperCaseA === upperCaseB) return 0;
});

 

관련글 더보기

댓글 영역