【发布时间】:2022-01-04 18:43:33
【问题描述】:
我正在尝试制作一个简单的应用程序来通过 REST API 在 WooCommerce 中更新价格。
我的 arrayOne 有 SKU + 来自我的 ERP 的更新价格
[
{sku=PD-1000-B, price=9800.00},
{sku=PD-1007-A, price=9678.16}
]
arrayTwo 包含来自 woocommerce 的所有产品、SKU、id(我需要获取)和当前价格
[
{sku=PD-1000-B, id=1622.0, price=8145.9},
{sku=PD-1007-A, id=1624.0, price=9678.16}
]
我想将arrayTwo 与arrayOne 进行比较,如果arrayOne 中的价格更大,那么将所有巧合合并并创建新数组。像这样的
[
{sku=PD-1000-B, id=1622.0, price=9800.00}
]
因为唯一更大的价格是 PD-1000-B。
到目前为止,我所做的只是创建一个新的 Set,但这并不能比较任何东西,我的想法是减少仅更改要更新的数量。
编辑:截至目前,我只是用 arrayOne 中的价格替换 arrayTwo 中的价格:
let set = new Set();
for (let i = 0; i < data.length; i++)
set.add(data[i]['sku'])
for (let i = 0; i < container.length; i++)
if (set.has(container[i]['sku']))
container[i]['price'] = data[i]['price'];
container 是一个空变量,我用来收集从 WooCommerce 获得的数据作为一个数组,而 data 是一个包含更新价格 + sku 的数组。
谢谢。
【问题讨论】:
-
查看我的答案,如果它解决了您的问题,请告诉我 +^
标签: javascript arrays api google-apps-script woocommerce