接口写好了吗 2022-04-12 14:12 采纳率: 80.2%
浏览 310
已结题

vue数组内对象有对应id,如何删除其中一个,让所有id能重新排序

问题是这样的:我有一个题目,然后多个选项。我设定了这样的结构
这里adc代表id。value代表用户输入的值。我通过方法可以添加一条选项,会自动在后面加一条,并且id是D。我删除的时候如果删除最后一条D,然后再添加,那也是D。这样没问题,但是当我删除的不是最后一条,我直接删除前面的C的时候,再添加一条数据,他就会又加一个D上来,因为是根据他的长度来添加的。

我需要的是,我点击删除其中任何位置的选项,然后其他所有选项都会根据长度来,比如有三条就是顺序下来id是ABC,如果是2条就是AB这样的。请问有什么办法可以处理吗。

我有考虑删除或者添加的时候把选项数组清空从新添加的思路,但是这样也会导出用户写好了所有答案,然后不想要其中一个,一删其他的都没了。

domains: [
              {
                id: "A",
                value: "",
              },
              {
                id: "B",
                value: "",
              },
              {
                id: "C",
                value: "",
              },
            ],

  • 写回答

2条回答 默认 最新

  • 众生皆苦唯有我甜 2022-04-12 14:37
    关注
    
    let idArr = ['a', 'b', 'c', 'd', 'e'];
    let data = [{
        id: "a",
        value: "1",
    },
    {
        id: "b",
        value: "2",
    },
    {
        id: "c",
        value: "3",
    }]
    function delOne(arr, index) {
        arr.splice(index, 1).forEach((ele, key) => {
            ele.id = idArr[key]
        });
        return arr
    
    }
    console.log(delOne(data, 1))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 创建了问题 4月12日

悬赏问题

  • ¥15 带序列特征的多输出预测模型
  • ¥15 VB.NET读取电脑主板序列号
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?
  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错