옝옹
냠
옝옹
전체 방문자
오늘
어제
  • 분류 전체보기 (84)
    • [LG유플러스]유레카 SW (5)
    • React (20)
    • JS (17)
    • TypeScript (5)
    • CSS & HTML (1)
    • 알고리즘 (11)
    • JAVA (20)
    • GIT (1)
    • 자격증 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • break문
  • 타입변환
  • 자바스크립트
  • join() 메서드
  • JavaScript
  • fillter
  • reverse() 메서드
  • 혼자 공부하는 자바
  • template literal
  • ==
  • Node.js
  • 인스턴스멤버
  • 템플릿리터럴
  • match()
  • 정적멤버
  • 자바
  • 기본api클래스
  • useEffect
  • 리액트를다루는기술
  • 노마드코더
  • switch문
  • do-while문
  • java.lang패키지
  • useMemo
  • 접근제한자
  • map() 함수
  • 타입스크립트
  • useState
  • useRef
  • join()
  • sort() 메서드
  • useCallback
  • 리액트
  • 백준
  • js
  • 혼자공부하는자바
  • java.util패키지
  • reduce
  • 코드스플리팅
  • 자바스트립트
  • java
  • 함수선언
  • 변수선언
  • indexOf()
  • map
  • toFixed
  • TypeScript
  • 화살표함수
  • While문
  • continue문

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
옝옹

냠

JS

[JS] 배열에서 특정 값의 개수 구하기

2023. 1. 17. 23:59

배열(Array)

1. for문

▶ 가장 기본적으로 배열의 모든 요소를 순회하며 특정 값이 있을 경우 count를 증가시킴

const arr = ['A', 'B', 'B', 'C', 'D' ];
let count = 0;

for(let i = 0; i < arr.length; i++) {
  if(arr[i] === 'A')  {
    count++;
  }
}
console.log(`count : ${count}`);

2. map()

▶ 특정 값의 개수를 반환하는 함수를 생성하고 map()을 사용해 특정 값을 체크

var arr = ['A', 'B', 'B', 'C', 'D' ];

function arrCount(arrParam, str) {
  var count = 0;
  
  arrParam.map(item => {
    if (item === str) count++;
  });
  return count;
}
  
console.log(`count : ${arrCount(arr, 'A')}`);

3. filter()

▶ filter()는 배열의 모든 요소를 순회하여 특정 조건에 부합하는 값들을 모아 새로운 배열을 반환

const arr = ['A', 'B', 'B', 'C', 'D' ];
let result = arr.filter(item => item === 'A');

console.log(result);
console.log(`count : ${result.length}`);

4. reduce()

▶ 주어진 배열을 순회하면서 callback 함수를 실행하고, 하나의 리턴값을 반환하는 함수

▶ reduce() 함수의 반환값은 1(배열 arr의 'A'의 개수) + 0(초기값)으로 1이다.

▶ 마지막으로 0을 10으로 변경하면 11이 반환됨

const arr = ['A', 'B', 'B', 'C', 'D' ];
let result = arr.reduce((count, data) => data === 'A' ? count + 1 : count, 0);
  
console.log(`count : ${result}`);

배열의 객체

1. for문

▶ 객체로 구성된 배열에서 객체의 age 속성이 20인 요소의 개수를 for문을 사용하여 구함

const arr = [
  {name : 'A', age: 10},
  {name : 'B', age: 20},
  {name : 'C', age: 30},
  {name : 'D', age: 40},
  {name : 'E', age: 20}
];
  
let count = 0;

for(let i = 0; i < arr.length; i++) {
  if(arr[i]['age'] === 20)  {
    count++;
  }
}
  
console.log(`count : ${count}`);

2. map()

▶ 파라미터 하나를 더 추가하여 특정 속성을 체크할 수 있도록 함.

var arr = [
  {name : 'A', age: 10},
  {name : 'B', age: 20},
  {name : 'C', age: 30},
  {name : 'D', age: 40},
  {name : 'E', age: 20}
];

function arrCount(arrParam, str, property) {
  let count = 0;
  
  arrParam.map(item => {
    if (item[property] === str) count++;
  });
  return count;
}
  
console.log(`count : ${arrCount(arr, 20, 'age')}`);

3. filter()

const arr = [
  {name : 'A', age: 10},
  {name : 'B', age: 20},
  {name : 'C', age: 30},
  {name : 'D', age: 40},
  {name : 'E', age: 20}
];

let result = arr.filter(item => item['age'] === 20);

console.log(result);
console.log(`count : ${result.length}`);
});

4. reduce()

const arr = [
  {name : 'A', age: 10},
  {name : 'B', age: 20},
  {name : 'C', age: 30},
  {name : 'D', age: 40},
  {name : 'E', age: 20}
];

let result = arr.reduce((count, data) => data['age'] === 20 ? count + 1 : count, 0);

console.log(result);

다차원 배열(Multidimensional Array)

1. for문

다중 for문으로 처리

2.map()

const arr = [
  ['A', 'B', 'C'],
  ['D', 'E', 'F'],
  ['A', 'B', 'C']
];

function arrCount(arrParam, str) {
  let count = 0;
  
  arrParam.map(item => {
    item.map(item2 => {
      if (item2 === str) count++;
    });
  });
  return count;
}

console.log(`count : ${arrCount(arr, 'A')}`);
저작자표시 비영리 변경금지 (새창열림)

'JS' 카테고리의 다른 글

[JS] == , === 차이점  (0) 2023.01.18
[JS] 배열 특정 값 포함 여부(includes, indexOf, some, every)  (2) 2023.01.17
[JS] Templete Literal : 백틱(``), 달러(${})  (3) 2023.01.16
[JS] Javascript 이론 (1)  (0) 2023.01.14
[JS] join() 메서드  (1) 2023.01.13
    'JS' 카테고리의 다른 글
    • [JS] == , === 차이점
    • [JS] 배열 특정 값 포함 여부(includes, indexOf, some, every)
    • [JS] Templete Literal : 백틱(``), 달러(${})
    • [JS] Javascript 이론 (1)
    옝옹
    옝옹

    티스토리툴바