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

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日

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动