티스토리 뷰
각 배열의 n번째값이 group인 경우의 index를 찾는 법
나는 0번째 값이 group인 것으려고 아래처럼 만들었는데, 원하는 값을 확인해서 하면 될 듯 하다.
만약 -1이 반환된다면 없다는 것
let field = [
['apple', 'red'],
['banana', 'yellow'],
['grape', 'purple']
];
let group = 'banana';
let index = field.findIndex(item => item[0] === group);
console.log(index); // 결과: 1
this.array 배열에서 name 속성이 'nacho'인 요소를 찾는다.
만약 해당 요소를 찾으면 그 요소를 value 변수에 저장하고, 찾지 못하면 undefined가 저장
let value= this.array.find(item => item.name=== 'nacho');
this.array 배열에서 name 속성이 " nacho " (공백이 포함된 문자열)인 요소의 인덱스 찾기
만약 해당 요소를 찾으면 그 요소의 인덱스를 index 변수에 저장하고, 찾지 못하면 -1이 저장
const index = this.array.findIndex(data => data.name === " nacho ");
value 변수가 존재하고 name 속성이 존재할 경우 해당 속성 값을 가져오고, 그렇지 않은 경우 기본값으로 ' nacho '를 설정
value 변수에 값이 있으면 value.name을 nacho 변수에 저장하고,
값이 없으면 ' nacho ' (공백이 포함된 문자열)을 nacho 변수에 저장
이렇게 함으로써, value가 존재하지 않거나 name 속성이 없는 경우에 대비하여 nacho 변수에 기본값을 설정
let nacho = value ? value . name : ' nacho ';
reduce() 함수를 사용하여 배열을 그룹화하는 작업을 수행
주어진 데이터를 그룹화하고, 각 그룹에 대한 키는 해당 항목의 수정일로 설정
const groupedByDate = data.reduce((acc, curr) => {
// 현재 항목의 날짜를 키로 사용하여 그룹화
const key = curr['날짜'];
// 그룹이 없으면 새로운 배열을 생성하고 현재 항목을 추가
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(curr);
return acc;
}, {});
위 코드는 reduce() 함수를 사용하여 data 배열을 순회하면서 각 항목을 그룹화합니다.
acc는 누산기로써, 초기값은 빈 객체 {}입니다. curr은 현재 순회 중인 배열 요소입니다.
각 항목에서 '날짜' 속성을 추출하여 그룹화 키로 사용합니다.
만약 해당 키가 누산기 객체(acc)에 없다면, 새로운 배열을 생성하고 현재 항목을 추가합니다.
이미 해당 키가 존재한다면, 그룹에 현재 항목을 추가합니다.
결과적으로 groupedByDate 객체는 날짜별로 데이터가 그룹화된 형태로 구성됩니다.
각 키는 날짜를 나타내고, 각 값은 해당 날짜에 속하는 데이터 항목들의 배열입니다.
해당 함수를 실행하면 아래와 같은 값이 나온다.
원하는 사람이 있을 것 같아서 콘솔에서 아래와 같이 입력하면 나와 같은 값이 나올 것이다.
const data = [
{ 이름: 'Alice', 날짜: '2024-03-01' },
{ 이름: 'Bob', 날짜: '2024-03-02' },
{ 이름: 'Charlie', 날짜: '2024-03-01' },
{ 이름: 'David', 날짜: '2024-03-02' },
{ 이름: 'Eve', 날짜: '2024-03-03' }
];
const groupedByDate = data.reduce((acc, curr) => {
// 현재 항목의 날짜 키로 사용하여 그룹화
const key = curr['날짜'];
// 그룹이 없으면 새로운 배열을 생성하고 현재 항목을 추가
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(curr);
return acc;
}, {});
console.log(groupedByDate)

{
"2024-03-01": [
{
"이름": "Alice",
"날짜": "2024-03-01"
},
{
"이름": "Charlie",
"날짜": "2024-03-01"
}
],
"2024-03-02": [
{
"이름": "Bob",
"날짜": "2024-03-02"
},
{
"이름": "David",
"날짜": "2024-03-02"
}
],
"2024-03-03": [
{
"이름": "Eve",
"날짜": "2024-03-03"
}
]
}
'DB' 카테고리의 다른 글
[DB] ERROR: syntax error at or near "$1" (0) | 2024.04.05 |
---|---|
RETURNING ID, insert 등 후 컬럼값 반환 (0) | 2024.03.08 |
[디비버] 데이터베이스 폴더 안 보일 때 - 데이터베이스 내비 안보일때 (0) | 2024.02.16 |
[postgresql] postgresql 설치하기 - intellij 연결 (0) | 2024.02.06 |
[postgresql] case when end / || / <![CDATA[<>]]> (0) | 2023.10.26 |
- Total
- Today
- Yesterday
- PathVariable
- How to generate an uuid in google sheet?
- 개발자면접질문
- 고유식별자
- 파일전송프로토콜
- 스프링프레임워크
- centos7
- nextTick
- 개발자질문
- uuid
- 서버포트설정
- computed
- selectpicker
- 프론트엔드 #
- 패킷캡쳐하는법
- 구글스프레드시트
- SCP 명령어
- APP SCRIPT
- pcap저장
- vue.js
- 와이어샤크문법
- 부트스트랩
- invokeMethod
- ReflectionTestUtils
- selectOption
- springMVC #DTO #VO #DAO
- 로컬에서서버
- vue라이프사이클
- 파라미터받는법
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |