Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 문자열 중복
- 깃 토큰 만료
- 문자열순서바꾸기
- @Moditying @Query
- 객체의 밸류값만 찾기
- 객체의키값만 찾기
- 스프링 데이타 JPA
- 중복 문자열
- ubuntu타임존
- lastIndexOf()
- 시퀄 문법
- 5.3.8 Modifying Queries
- 단어 제거
- sql 문자열 패턴 검색
- 제로베이스
- 재귀스왑
- 배엘에서 스왑
- 우분투 시간 변경
- 중복문자제거
- ...점점점문법
- 중첩배열평탄화
- 코딩 어?
- js 문자열을 문자배열로
- 중복단어제거
- sql like연산자
- 중첩배열
- indexOf()
- 프론트엔드 스쿨
- 중복된 단어
- 레디스 확인
Archives
- Today
- Total
코딩기록
JS) 배열을 객체로 , 객체를 배열로, / 2차원 배열이나 객체 배열에서 내가 원하는 값만 1차원 배열로 본문
728x90
1. 객체를 배열로 - [ ]를 씌운다.
기존 { } 코드에 배열을 씌운다
let array = { id: 1, content: 'Javascript', completed: false };
const newArray = [ array ];
//console.log(newArray);
[ { id: 1, content: 'Javascript', completed: false } ]
2. 객체를 배열로 - Object.entries()
자바스크립트에서 사용되는 참조값 object(객체)와 array(배열) 이 있는데 Object 객체에서 제공하는 메소드를 이용하여 서로 형변환이 가능하다.
Object.entries는 object를 인자로 받아 [key, value] 형태의 배열을 값으로 갖는 2차원 배열을 반환한다.
객체의 키나 값만 배열로 가져오고 싶다면 Object.keys(), Object.values() 메소드를 사용한다.
const obj = { name: 'hong', age: 26, birth: '1225', address: 'seoul' };
const arr = Object.entries(obj); // [['name', 'hong'], ['age', 26], ['birth', '1225'], ['address', 'seoul']];
const keys = Object.keys(obj); // ['name', 'age', 'birth', 'address']
const values = Object.values(obj); // ['hong', 26, '1225', 'seoul']
3. (이차원) 배열을 객체로 - Object.fromEntries()
2차원 배열을 Object.fromEntries()의 인자로 전달하면 객체로 변환할 수 있다.
const arr = [['name', 'hoong'], ['age', 26], ['birth', '1225'], ['address', 'seoul']];
const obj = Object.fromEntries(arr);
// console.log(obj);
{ name: 'hong', age: 26, birth: '1225', address: 'seoul' }
4. (일차원) 배열을 객체로 - Object.assign()
Object.assign()의 첫 번째 인자로 빈 객체({}),
두 번째 인자로 1차원 배열을 전달하면 인덱스 값을 key로 갖는 객체를 얻을 수 있다.
const arr = ['apple', 'orange', 'banana'];
const obj = Object.assign({}, arr);
// console.log(obj);
{ '0': 'apple', '1': 'orange', '2': 'banana' }
5. array와 object의 일부 값만 가져오는 방법.
object의 일부 키만 갖는 새로운 객체를 만드는 방법은 rest parameter를 이용하면 된다.
const obj = { name: 'hong', age: 26, birth: '1225', address: 'seoul' };
// 객체에서 age만 제외하고 가져오기
const { age, ...rest } = obj;
//console.log(obj);
{ name: 'hong', age: 26, birth: '1225', address: 'seoul' }
혹은 lodash에서 제공하는 omit 함수를 사용하면 간단하게 특정 키 값을 제외한 객체를 얻을 수 있다.
import { omit } from 'lodash';
const obj = { name: 'hong', age: 26, birth: '1225', address: 'seoul' };
const newObj = omit(obj, ['age', 'birth']); // age, birth 키를 제외한 객체 반환
array는 자바스크립트의 map 고차함수를 이용하면 된다.
객체를 값으로 갖는 배열의 경우에는 위와 같이 rest parameter를 이용하여 일부 키 값만 갖는 객체 배열을 얻을 수 있다.
const arr = [
{ name: 'apple', price: 200, id: 'Item_001' },
{ name: 'banana', price: 500, id: 'Item_002' },
{ name: 'orange', price: 700, id: 'Item_003' },
{ name: 'cherry', price: 1000, id: 'Item_004' },
];
// price만 제외한 객체를 값으로 갖는 배열 반환
const newArr = arr.map(({ price, ...rest }) => rest);
//console.log(newArr);
[
{ name: 'apple', id: 'Item_001' },
{ name: 'banana', id: 'Item_002' },
{ name: 'orange', id: 'Item_003' },
{ name: 'cherry', id: 'Item_004' }
]
배열을 값으로 갖는 배열(2차원 배열)의 경우에는 배열 디스트럭쳐링을 이용하여 값 배열의 일부만 갖는 새로운 배열을 얻을 수 있다.
const arr = [
['apple', 200, 'Item_001'],
['banana', 500, 'Item_002'],
['orange', 700, 'Item_003'],
['cherry', 1000, 'Item_004'],
];
// 값 배열의 두 번째 요소를 제외한 새로운 배열 반환
const newArr = arr.map(([v1, , v3]) => [v1, v3]);
//console.log(newArr);
[
[ 'apple', 'Item_001' ],
[ 'banana', 'Item_002' ],
[ 'orange', 'Item_003' ],
[ 'cherry', 'Item_004' ]
]
참고
블로그 -
https://guiyomi.tistory.com/126
반응형
'프론트 > JS)코딩테스트' 카테고리의 다른 글
배열 풀기, 배열 벗기기 join(' ,'); / .toString(); (0) | 2024.09.05 |
---|---|
알고리즘) 기본 수학 이론 (0) | 2024.08.26 |
string) 글자 지우기 / for...of + slice, for + includes, filter - 배열 값/ 인덱스에 해당하는 문자 제거 or 배열 값/ 인덱스에 해당하지 않는 문자로 새로운 문자열 생성 (0) | 2024.08.12 |
string) 글자 이어 붙여 문자열 만들기 / map-인자.하나일땐 배열 요소, reduec-인자.두개일땐, 누적값과 배열요소. / 배열 중복 값 제거 (0) | 2024.08.12 |
string) 이어 붙인 수 / filter - 짝수, 홀수 & reduce배열 + 삼항연산자 (0) | 2024.08.12 |
Comments