JSFiddle - React, Tailwind, and code Playground

by cccheng118

JavaScript

const data = [{"marketcode":"01","size":"8,5","amount":1},
{"marketcode":"01","size":"9","amount":1},
{"marketcode":"01","size":"10","amount":0}];

const convert = toConvert => {
	const map = toConvert.reduce((r, {marketcode, size, amount}) => {
  	if (r.has(marketcode))
    	r.set(marketcode, {...r.get(marketcode), [size]: amount});
     else
     	r.set(marketcode, {marketcode, [size]: amount});
  	return r;
  }, new Map());
  return [...map.values()];
};

console.log(convert(data));