CODING/Javascript
자바스크립트 배열, 객체 관련 자주 쓰이는 함수 정리(필독!)
피그말리온(PYGM)
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;
});
반응형