You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改clearSales函数实现删除全部记录仅保留一条?

解决方案

要实现保留一条销售记录的需求,只需在clearSales函数中对获取到的ID列表做移除单个元素的处理,再将剩余ID传入删除接口即可。同时建议增加边界判断,避免当记录数量≤1时执行删除操作。

修改要点:

  • 获取ID列表后,先判断列表长度,若仅1条或无记录,直接返回不执行删除
  • 若有多个ID,通过slice(0, -1)(移除最后一个)、shift()(移除第一个)或其他方式保留一条记录的ID,将剩余ID传入批量删除接口

修改后的完整代码:

const getIds= async () => {
    let res = await axios({
        method: 'get',
        url: '/v1/sales'
    })
    expect(res.status).toBe(200)
    const ids = [];
    res.data.salesId.forEach(item => {
        ids.push(item.id);
    });
    return ids
};

export const clearSales = async () => {
    const idList = await getIds()
    // 仅当记录数大于1时执行删除,保留最后一条
    if (idList.length > 1) {
        // 移除最后一个ID,保留该条记录;若想保留第一条,可改用 idList.slice(1)
        const idsToDelete = idList.slice(0, -1)
        let res = await axios({
            method: 'post',
            url: '/v1/feed/bulk_update',
            data: { "feed_ids": idsToDelete, "operation": "delete" },
        })
        expect(res.status).toBe(200)
    }
};

补充说明:

  • 若想指定保留某一条特定记录(而非首尾),可在clearSales中筛选出该记录的ID,从删除列表中排除即可。例如:
    // 假设要保留id为"target-id"的记录
    const idsToDelete = idList.filter(id => id !== "target-id")
    

内容的提问来源于stack exchange,提问作者YusufOzt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 07:42:06