JavaScript:地址报告的完整最小字段

问题描述 投票:0回答:1

我的发件人地址有以下 6 个字段

  1. Address_Line1
  2. Address_Line2
  3. Address_Line3
  4. 地址_城市
  5. 地址_国家
  6. 地址_邮政编码

现在,没有一个字段是按照新字段创建的强制要求

名为 Alt_Address__1、2、3、4、5 和 6(在表单上不可见)但是

OnSave(使用 JavaSCript)

将考虑上述 6 个发票地址字段中的每一个,按此顺序 - 街道 1、街道 2、街道 3、城市、县、邮政编码。

第一个填充的字段将保存到 Alt_Invoice_Address_1 第二个填充字段将保存到 Alt_Invoice_Address 2 依此类推 6 个字段。

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

javascript c# logic
1个回答
0
投票

你可以做的是在像这样的单个对象中收集所有现场数据之后:

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 字段均已填充字段值。 希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.