【发布时间】:2021-11-06 14:29:16
【问题描述】:
我有一个应用折扣的任务,从订阅之初开始,客户每 10 个订单,数据都来自 Laravel 之外的 API 调用。
例如
[
[
order_id: xxxxx,
details: [
],
customer_id: xxxxx
],
[
order_id: xxxxx,
details: [
],
customer_id: xxxxx
],
]
订单被计入计数的标准是状态为成功。我所做的是遍历所有状态为 SUCCESS 的订单,并从 1 开始创建一个计数器,如果计数器达到 10,我将再次将计数器重置为开始,直到我遍历所有订单并记录的最后一个数字是客户当前的第 N 个订单,因此如果当前的第 N 个订单是 9,则后续订单将应用折扣。
但这似乎效率低下,如果客户有很多订单,代码将花费时间循环并遍历所有订单,以获取客户当前的第 N 个订单位置。有没有一个公式可以得到当前的第 N 阶位置是什么?或者我可以使用集合,将数组按 10 分块并获取最后一组,然后从那里循环它们以获得最新订单的第 N 个位置?任何意见,将不胜感激。谢谢。
【问题讨论】:
-
第一步是点击 API 以获得成功的订单?
标签: javascript php arrays laravel