如何更改前端输入的映射参数



我目前正在尝试构建一个angular应用程序,该应用程序能够接受具有任何列数和任何列名的.csv文件,并操作该.csv以反映一个由3列组成的模板,该模板具有要上传到后端的特定列名。

例如:

date | location | customer | order_value | order_id

Date | loc | cust | ord_v | id | other..value..fields |....

并将其更改为标准

| customer | order_value | order_id |

用于后端计算。

我目前的方法是预览输入的.csv并提示用户输入匹配的字段。例如:

customer: cust order_value: ord_v order_id : id

并在使用Papaparse之后使用这些输入映射到标准JSON文件。

假设this.data是一个JSON文件,其标头映射到输入.csv

mapped_data = this.data.map( u => ({ customer : u.input_cust, order_value : u.input_order_v, order_id : input_id})

这是不起作用的,因为"输入"变量是字符串,它们需要是"u"文件的属性。

data["property"]运算符等效于data.property运算符。这可以在map((中完成,如下所示,以基于预设变量(在我的例子中是来自前端的输入变量(同时处理多个变量。下面是一个例子;

mapped_data = this.data.map( u => ({ customer : u[input_cust], order_value : u[input_order_v], order_id : u[input_id]})

最新更新