>

동일한 서비스를 가진 개체가 모든 총 비용을 단일 배열에 저장하는 방식으로 개체 배열을 변환해야합니다.

따라서 객체 배열, 각 객체는 동일한 서비스를 가진 total_costs 배열을 포함합니다. 따라서 다음에서 :

[ 
     { total_costs: 263.6372995531,
       service: '136981853692',
       date_fields: '2018-04-02T00:00:00' },
     { total_costs: 121.3059868476,
       service: '136981853693',
       date_fields: '2018-04-16T00:00:00' },
     { total_costs: 105.6087751695,
       service: '136981853693',
       date_fields: '2018-04-23T00:00:00' },
     { total_costs: 8.7002453728,
       service: '136981853693',
       date_fields: '2018-04-30T00:00:00' } ]

으로 :

[
    {
      "service": "136981853693",
      "total_costs" : [8.7002453728, 105.6087751695, 121.3059868476...]
    },
    {
      "service": "136981853692",
      "total_costs" : [263.6372995531]
    }
  ]

어떻게해야합니까?


  • 답변 # 1

    reduce 사용   service 에 의해 색인 된 객체로 그룹화  속성을 클릭 한 다음 해당 객체의 값을 가져옵니다.

    const input=[{total_costs:263.6372995531,service:'136981853692',date_fields:'2018-04-02T00:00:00'},{total_costs:121.3059868476,service:'136981853693',date_fields:'2018-04-16T00:00:00'},{total_costs:105.6087751695,service:'136981853693',date_fields:'2018-04-23T00:00:00'},{total_costs:8.7002453728,service:'136981853693',date_fields:'2018-04-30T00:00:00'}];
    const output = Object.values(
      input.reduce((a, { total_costs, service }) => {
        if (!a[service]) a[service] = { service, total_costs: [] };
        a[service].total_costs.push(total_costs);
        return a;
      }, {})
    );
    console.log(output);
    
    

관련 자료

  • 이전 c++ - Clang은 지원되지 않는 __declspec 속성에 대해 경고합니다
  • 다음 PHP mysqli 업데이트 데이터베이스