상세 컨텐츠

본문 제목

객체배열, 배열간 관계처리 모음

CODING/Javascript

by 뚜뚜 DDUDDU 2022. 12. 25. 09:10

본문

 

 

 

자바스크립트 문법 중, 많이 사용하는 배열, 객체배열 관계식을 정리해보았다.


**두 배열의 교집합 찾기**


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

 

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

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 ]

 


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

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

 


배열1개에서 중복값 제거

const uniqueArr = dupArr.filter((element, index) => {
return dupArr.indexOf(element) === index;
});

 


객체배열 중복key 제거


const  uniqueArr  = Array.from(new  Set(category.map(a  => a.key)))
.map(key  =>  {
_return_ category.find(a  => a.key === key)
})

 

# **배열의 평균 값**

 

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;
});

 

관련글 더보기

댓글 영역