问题是这样的:我有一个题目,然后多个选项。我设定了这样的结构
这里adc代表id。value代表用户输入的值。我通过方法可以添加一条选项,会自动在后面加一条,并且id是D。我删除的时候如果删除最后一条D,然后再添加,那也是D。这样没问题,但是当我删除的不是最后一条,我直接删除前面的C的时候,再添加一条数据,他就会又加一个D上来,因为是根据他的长度来添加的。
我需要的是,我点击删除其中任何位置的选项,然后其他所有选项都会根据长度来,比如有三条就是顺序下来id是ABC,如果是2条就是AB这样的。请问有什么办法可以处理吗。
我有考虑删除或者添加的时候把选项数组清空从新添加的思路,但是这样也会导出用户写好了所有答案,然后不想要其中一个,一删其他的都没了。
domains: [
{
id: "A",
value: "",
},
{
id: "B",
value: "",
},
{
id: "C",
value: "",
},
],
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))
你说的这种不就是数组下标吗
先直接存值,最后循环再把id加上