Javascript 将formArray作为一个对象发送

Javascript 将formArray作为一个对象发送,javascript,angular,typescript,Javascript,Angular,Typescript,我正在使用我的步进机。当我调用API时,它将数据作为如下对象数组发送: [ { “产品”:“lifeci”, “性别”:“F”, “出生日期”:“1999-04-23T10:58:53.839Z”, “支付频率”:12, “升华”:“100” }, { “货币”:“美元”, “金额”:“15000”, “期间”:3 } ] 我希望将数据作为一个对象发送,如下所示: { “性别”:“字符串”, “出生日期”:“2021-04-23T11:37:01.738Z”, “期间”:0, “支付频率

我正在使用我的步进机。当我调用API时,它将数据作为如下对象数组发送:

[
{ 
“产品”:“lifeci”,
“性别”:“F”,
“出生日期”:“1999-04-23T10:58:53.839Z”,
“支付频率”:12,
“升华”:“100”
}, 
{ 
“货币”:“美元”,
“金额”:“15000”,
“期间”:3
}
]
我希望将数据作为一个对象发送,如下所示:

{
“性别”:“字符串”,
“出生日期”:“2021-04-23T11:37:01.738Z”,
“期间”:0,
“支付频率”:0,
“金额”:0,
“升华”:“字符串”,
“货币”:“字符串”,
“产品”:0
}
这是我的表格:

    this.formGroup = this._formBuilder.group({
      formArray: this._formBuilder.array([
        this._formBuilder.group({
          product: ['lifeci', Validators.required],
          gender: ['', Validators.required],
          birthDate: ['', [Validators.min(18), Validators.max(50)]],
          payFrequency: [12],
          subLimit: ['100']
        }),
        this._formBuilder.group({
          currency: ['USD', Validators.required],
          amount: ['15000', Validators.required],
          period: ['', Validators.required],
        }),
      ])
    });

      onSubmit() {
        this.service.calculate(this.formGroup.value).subscribe(
          (res:any)=>{
            console.log(res);
          },
          err => {
            console.log(err);
          }
        );
      }
服务.ts

    export class LifeciService {
    
      readonly API_SERVER = "API_URL";
      constructor(private http: HttpClient) { }
    
      calculate(formData) {
        return this.http.post(this.API_SERVER + '/Calculate', formData);
        }
    
    
    }

如何实现这一点?

您可以使用javascript
reduce
函数进行简单的转换,将数据转换为所需的结构

const initial=[{“产品”:“生活费”,“性别”:“F”,“出生日期”:“1999-04-23T10:58:53.839Z”,“支付频率”:12,“升华”:“100”},{“货币”:“美元”,“金额”:“15000”,“期间”:3});
const reduced=initial.reduce((上一个,下一个)=>({…上一个,…下一个}),{})

console.log(reduced)
您也应该向我们展示api服务。您好!我编辑了我的帖子!谢谢你的回答,我如何在我的服务中实现这一点?我做了类似的事情,但它不起作用:onSubmit(){const initial=[this.formGroup.value];const reduced=initial.reduce((prev,next)=>({…prev,…next}),{})console.log(reduced);this.service.calculate(reduced)。subscribe((res:any)=>{console.log(res);},;}使用
const initial=this.formGroup.get('formArray')。值