gpt4 book ai didi

javascript - 在 JavaScript 中从数组中删除项目

转载 作者:行者123 更新时间:2023-11-27 23:39:38 25 4
gpt4 key购买 nike

经常看到这个问题,但找不到我正在寻找的东西。

onClick 我将一个项目推送到我拥有的数组中,但是,如果我的数组中有 3 个项目,我不想再推送项目了。

var selectedData = [];

我设置了空变量。

var index = selectedData.indexOf(3);

然后我得到数组的索引,即 3

if (index > 3) {
selectedData.splice(index, 1);
}

然后在我的 if 语句 中,我说,如果我的索引为 3,大于 3,则在 index 处拼接并删除一个。

selectedData.push(TheThing);

如果上面的 if 语句不成立,我会将 TheThing 推送到我的数组。

但是,我有一个变量 var arrayLength = selectedData.length; 来获取长度,当我控制台记录它时,它从 0 开始并拼接任何项目4 之后。不是 3。

知道我做错了什么或误解了什么吗?谢谢

<小时/>

我的代码的更完整示例

var selectedData = [];

myElement.on('click', function() {

var index = selectedData.indexOf(3);
if (index > 3) {
selectedData.splice(index, 1);
}
var arrayLength = selectedData.length;

console.log(arrayLength, 'the length');

});

简而言之,onClick 检查我的数组并删除添加到我的数组中的第三个之后的所有内容。

最佳答案

你希望它表现为堆栈还是队列?

所以你的代码在这里:

var index = selectedData.indexOf(3);

没有抓取第三个索引 - 它抓取第一个看到 3 的索引,如果没有,则抓取 -1。将 if 语句替换为,

if (selectedData.length > 3) {
selectedData.pop() // removes last element (stack)
// or
selectedData = selectedData.slice(1) //remove first element (queue)
}

关于javascript - 在 JavaScript 中从数组中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33809479/

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