JavaScript: Address for Reporting的全部最小字段



我的邮箱地址有以下6个字段

  1. Address_Line1
  2. Address_Line2
  3. Address_Line3
  4. Address_City
  5. Address_Country
  6. Address_PostCode

现在,没有一个字段是强制的,所以在新字段

后面创建命名Alt_Address__1, 2, 3, 4, 5和6(在表单上不可见)但是

OnSave (Using JavaSCript)

以上6个发票地址字段中的每一个都将被考虑,在这个顺序中-街道1,街道2,街道3,城市,县,邮政编码。

第一个填充的字段将保存到Alt_Invoice_Address_1中第二个填充的字段将保存到Alt_Invoice_Address 2中等等,通过6个字段。

我无法想出一个聪明的逻辑,关于我如何写JavaScript函数来实现上述要求的任何建议

你能做的是在收集所有字段数据在一个单一的对象,像这样:

let formObject = {
"Street1": "manchester",
"Street2": "123 road",
"Street3": "something something",
"City": "NY"
"Country": "USA"
"Postcode": "5165812168452"
}

首先使用object .values()函数提取对象的所有属性值,并将其存储在一个新的变量中。

下一步是使用Array.prototype.forEach()函数遍历每个值并将它们存储在具有相应属性的对象中。

由于您的属性名称都是相同的(Alt_Invoice_Address),只有增加的数字,您可以在forEach函数中添加索引参数来手动创建您的属性。

下面是一个例子:

let newFormObject = {};
let formValues = Object.values(formObject);
formValues.forEach((value, index)=>{
let newPropertyName = "Alt_Invoice_Address_" + index;
newFormObject[newPropertyName] = value;
});

现在你有了一个新对象,所有的Alt_Address字段都用填充的字段值完成了。希望对你有所帮助。

相关内容

  • 没有找到相关文章

最新更新