Express 将每个循环中以前的值与当前值进行比较

Express 将每个循环中以前的值与当前值进行比较,express,pug,Express,Pug,我有一个json,我必须在我的jade中写入: [ { RefSlipNo: { fieldlabel: 'RefSlipNo', fieldname: 'RefSlipNo', fieldtype: 'text', required: '1', default_value: '', placeholder: 'Ref Slip No', order_no: '1', formgroup: 'vehicleDetai

我有一个json,我必须在我的jade中写入:

[

{ RefSlipNo: 
   { fieldlabel: 'RefSlipNo',
     fieldname: 'RefSlipNo',
     fieldtype: 'text',
     required: '1',
     default_value: '',
     placeholder: 'Ref Slip No',
     order_no: '1',
     formgroup: 'vehicleDetails',
     can_delete: '0',
     status: '1' },
  BookNumber: 
   { fieldlabel: 'BookNumber',
     fieldname: 'BookNumber',
     fieldtype: 'text',
     required: '1',
     default_value: '',
     placeholder: 'Book Number',
     order_no: '2',
     formgroup: 'vehicleDetails',
     can_delete: '1',
     status: '1' },
  SlipDate: 
   { fieldlabel: 'SlipDate',
     fieldname: 'SlipDate',
     fieldtype: 'text',
     required: '1',
     default_value: '',
     placeholder: 'Slip Date',
     order_no: '3',
     formgroup: 'invoice',
     can_delete: '1',
     status: '1' },
  FillFuelDate: 
   { fieldlabel: 'FillFuelDate',
     fieldname: 'FillFuelDate',
     fieldtype: 'text',
     required: '1',
     default_value: '',
     placeholder: 'Fill Fuel Date',
     order_no: '4',
     formgroup: 'invoice',
     can_delete: '1',
     status: '1' }
]
我想在formgroup的基础上使用字段集和图例,如:

-------invoice--------------------|
FillFuelDate :                    |
SlipDate :                        |
----------------------------------|

-------vehicleDetails-------------|
RefSlipNo :                       |
BookNumber :                      |
----------------------------------|

但无法理解逻辑。如何在翡翠上打圈。我想在一个字段集下获取所有字段列表,其中invoice formgroup在一个字段集下,所有vehicledetails在一个字段集下,如上所示。

在JavaScript中,定义如下函数,并将其作为本地模板传递给您的pug模板:

function groupByFormGroup(fields) {
  const formGroups = [];
  const formGroupsByName = {};
  fields.forEach(field => {
    if (!formGroupsByName[field.formGroup]) {
      formGroupsByName[field.formGroup] = {name: field.formGroup, fields: []};
      formGroups.push(formGroupsByName);
    }
    formGroupsByName[field.formGroup].push(field);
  });
}
然后在pug模板中,执行以下操作:

each formGroup in groupByFormGroup(fields)
  fieldset
    legend= formGroup.name
    each field in formGroup.fields
      label= field.fieldLabel
      input(type="text" name=field.fieldName)