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

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 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛