问题出在对数组的赋值上。在JavaScript中,数组的赋值应该使用`=`而不是`==`。此外,您还需要注意,数组的索引是从0开始的,所以在循环中应该使用`<`而不是`<=`。以下是修复后的代码:
function setid() {
let allid = allId();
let chongfu = [];
let z = 0;
for (let i = 0; i < allid.length; i++) {
for (let y = i + 1; y < allid.length; y++) {
if (allid[i] === allid[y]) {
chongfu.push([i, y, allid[i]]);
z++;
}
}
}
let xiabiaoshu = [];
let u = 0;
for (let i = 0; i < chongfu.length; i++) {
if (!xiabiaoshu.includes(chongfu[i][0])) {
xiabiaoshu.push(chongfu[i][0]);
u++;
}
if (!xiabiaoshu.includes(chongfu[i][1])) {
xiabiaoshu.push(chongfu[i][1]);
u++;
}
}
return xiabiaoshu;
}
修复后的代码遍历所有id,检查是否有重复。如果有重复id,则将其索引和id存储在二维数组`chongfu`中。然后,再次循环`chongfu`数组,将重复的索引存储在`xiabiaoshu`数组中,并返回。请注意,修复后的代码仅返回重复id的索引,并没有返回重复的id本身。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |