다음과 같은 JSON 배열이 있다고 가정해 보겠습니다. -
상수 arr =[{ "데이터":[ { "W":1, "A1":"123" }, { "W":1, "A1":"456" }, { "W":2, "A1":"4578" }, { "W":2, "A1":"2423" }, { "W":2, "A1":"2432" }, { "W":2, "A1":"24324" } ]}];
우리는 그러한 배열 중 하나를 가져와 다음 JSON 배열로 변환하는 JavaScript 함수를 작성해야 합니다 -
<미리>[ { "1":[ { "A1":"123" }, { "A1":"456" } ] }, { "2":[ { "A1":"4578" }, { " A1":"2423" }, { "A1":"2432" }, { "A1":"24324" } ] }];예시
상수 arr =[{ "데이터":[ { "W":1, "A1":"123" }, { "W":1, "A1":"456" }, { "W":2, "A1":"4578" }, { "W":2, "A1":"2423" }, { "W":2, "A1":"2432" }, { "W":2, "A1":"24324" } ]}]; const groupJSON =(arr =[]) => { const preCombined =arr[0].data.reduce((acc, val) => { acc[val.W] =acc[val.W] || []; acc[val.W].push({ A1:val.A1 }); 반환 acc; }, {}); const 결합 =Object.keys(preCombined).reduce((acc, val) => { const temp ={}; temp[val] =preCombined[val]; acc.push(temp); return acc; }, [] ); 결합된 반환;};console.log(JSON.stringify(groupJSON(arr), 정의되지 않음, 4));
출력
콘솔의 출력은 -
<미리>[ { "1":[ { "A1":"123" }, { "A1":"456" } ] }, { "2":[ { "A1":"4578" }, { " A1":"2423" }, { "A1":"2432" }, { "A1":"24324" } ] }]