gpt4 book ai didi

javascript - JS数组拼接由于某种原因没有删除索引

转载 作者:行者123 更新时间:2023-11-28 19:01:49 32 4
gpt4 key购买 nike

这是我要发送的代码:

for (var com = 0; com < 10; com++) {
var op = [0, 1, 2, 3];
combo = op[Math.floor(Math.random() * op.length)];
door1[com] = combo;
op.splice(combo, 1);
combo = op[Math.floor(Math.random() * op.length)];
door2[com] = combo;
op.splice(combo, 1);
combo = op[Math.floor(Math.random() * op.length)];
door3[com] = combo;
op.splice(combo, 1);
combo = op[Math.floor(Math.random() * op.length)];
door4[com] = combo;
eim.print(op.toString());
}

现在当我打印 op 数组时。我应该只得到 1 个值,因为我已经删除了其他索引。与接头。但是当我打印结果10次时。我发现有些索引没有删除。我正在尝试创建 4 个不同的组合。每个组合都与其他组合不同。

最佳答案

你正在做的是,

Array.splice(combo,1);

现在它试图做的是从索引为combo的数组中拼接一个元素,现在combo可以是任何值,但它不是索引。

你可以通过索引来尝试,FIDDLE

代码:

door1={}
door2={}
door3={}
door4={}
var index=null;
for (var com = 0; com < 10; com++) {
var op = [0, 1, 2, 3];
index=Math.floor(Math.random() * op.length)
combo = op[index];
door1[com] = combo;
op.splice(index, 1);
index=Math.floor(Math.random() * op.length)
combo = op[index];
door2[com] = combo;
op.splice(index, 1);
index=Math.floor(Math.random() * op.length)
combo = op[index];
door3[com] = combo;
op.splice(index, 1);
index=Math.floor(Math.random() * op.length)
combo = op[index];
door4[com] = combo;
document.write(op.toString()+'<br>');
}

关于javascript - JS数组拼接由于某种原因没有删除索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32375201/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com