gpt4 book ai didi

javascript - JS - 从数组中删除元素(使用 Splice 的问题)

转载 作者:行者123 更新时间:2023-11-30 15:40:29 25 4
gpt4 key购买 nike

我正在为我的个人网站构建一个编辑查看器。我有一个数组,用于从页面(基于它们的类) 收集所有文本框/文本区域。然后通过按钮的使用,我让用户从编辑移动到编辑。当按下按钮时,我需要遍历“已编辑”对象的数组。

使用我在之前的 Overflow 线程中找到的重要提示,我从数组的顶部循环返回。但是,我遇到错误“myFunc error = TypeError: Object doesn't support property or method 'splice'”。我做错了什么?

var editsArray = document.getElementsByClassName("recent_change");

// go backwards through the array
for(var i = editsArray.length -1; i >= 0 ; i--){
// check to ensure it is not a 'problem_box'
if(editsArray[i].name == 'problem_box'){
// remove that item from array
editsArray.splice(i, 1);
}
}

我知道我将元素收集到数组中的方法有效,因为我用于迭代这些编辑的代码以前是有效的。我现在正要回去“清理”收集到我的数组中的内容,但遇到了上述错误。

我不想删除从实际页面收集的对象,我只是想从我的数组中删除对这些对象的引用

最佳答案

const editsArray = Array.from(document.getElementsByClassName("recent_change")).
filter((node) => node.name !== 'problem_box')

如果你不会用ES6,把Array.from换成Array.prototype.slice,箭头函数换成普通函数。

关于javascript - JS - 从数组中删除元素(使用 Splice 的问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40915018/

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