Express 将每个循环中以前的值与当前值进行比较
我有一个json,我必须在我的jade中写入: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
[
{ 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)