- 전체
- HTML
- Web Design (웹디자인)
- XE 응용 개발
- wordpress plugin dev
- Javascript & JavaScript Application
- MEAN Stack : full stack javascript
- angular js & ionic framework
- bootstrap
- WebGL, Three.js and Babylon.js
- restful api design
- mobile web
- node.js 응용
- Cloud Service 응용
- 웹 어셈블리 개발 [WASM, WebAssembly]
- 마이크로서비스, MSA (microservice architecture)
- WebGL / WebGPU
- next.js 개발
- micro frontend (마이크로프론트앤드)
- 전자상거래/쇼핑몰
- 서버 클라우드 (aws, azure, google)
JavaScript Grouping Array Data — JSON
2019.03.13 05:43
Grouping Array Data — JSON
CASE: We want to reorganise a JSON Array i.e. Sort Array items into groups
Suppose the following:
- You have created an array.
- This array has all the information you require.
- However you forgot to group the information.
In other words, you have something like this:
But you want something like this:
How can this be done?
This can be done via the combination of 4 functions:
1. groupBy
2. mapValues
3. map
4. omit
groupBy, mapValues and omit are available in the js library lodash.
1. Grouping the players array:
_.groupBy(players, "team");
This applies lodash’s groupBy function to the players array using the property team
Quotation marks are important
Here’s a different way to look at this function:
const Array = players; const Property = "team"; const playersByTeam = _.groupBy(Array, Property);
No matter which way you choose to do it, the result will be:
This may look good but our problem here is that the need for the teamproperty has been eliminated, so the team property in the newly created object is a waste of space.
In a large application, keeping the team property would be wasting a lot of space and filling the application with data that has become irrelevant.
2. Mapping Values
The following is an example of how we might use _.mapValues
_.mapValues(playersByTeam, x => "foo");
This will get each object in playersByTeam and change it to “foo”

In our case we don’t want to change it to “foo”, we want to change it to an object that does not contain the team property.
3. Map
_.mapValues(playersByTeam, x => x.map(y => "bar"));
If we run this in the console we can see:
This means we can create an object {} based on playersByTeam and change the array [] in the object.
4. Omit
The _.omit function creates an object without a certain property, in our case, the property is team.
_.mapValues(playersByTeam, x => x.map(y => _.omit(y, 'team') ));
That’s the console version of:
In conclusion,
to create a reorganised array without the team property you need
_.mapValues(_.groupBy(players, "team"), x => x.map(y => _.omit(y, "team") ));
[출처] https://codeburst.io/grouping-array-data-json-ef96b438b927
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 8 | 제로보드 XE의 최근 게시글 5개를 DB에서 직접 조회 | 졸리운_곰 | 2020.08.04 | 456 |
| 7 | python 으로 XE mysql 쿼리로 자동 게시물 등록하기 | 졸리운_곰 | 2020.03.03 | 448 |
| 6 | [WP]외부 게시판을 IFRAME으로 넣기 | 졸리운_곰 | 2019.01.30 | 534 |
| 5 | XE(제로보드) 게시판 내 스크립트 사용하기 | 가을의곰 | 2017.06.18 | 735 |
| 4 | XE 새 템플릿 문법으로 원하는 위치(head, body)에 JS 선언하기. | 가을의곰 | 2017.06.18 | 308 |
| 3 | 예제를 통해 쉽게 읽어보는 XE모듈개발 시작하기 | 졸리운_곰 | 2016.05.10 | 586 |
| 2 | [시니시즘] 비회원에게 파일 다운로드 권한이 없다고 뜰 때 | 졸리운_곰 | 2016.04.14 | 767 |
| 1 | XE 템플릿 구문 | 졸리운_곰 | 2015.05.12 | 1136 |





