Javascript 如何同时从数组和列表中删除值?
Javascript 如何同时从数组和列表中删除值?,javascript,html,arrays,Javascript,Html,Arrays,文件 去除 我想这就是你要找的。请注意,HTML已被编辑,现在将同级元素传递给check()函数(请参见该代码中的注释) let elements=[“你好”,20,67,“你好”,21,62,23,“欢迎”,44,251034,“输入”]; 常量编号=元素。过滤器(元素=>typeof元素==“编号”); 让str=elements.filter(element=>typeof element==“string”); 让lis=document.getElementById(“mylis
文件
去除
我想这就是你要找的。请注意,HTML已被编辑,现在将同级元素传递给check()
函数(请参见该代码中的注释)
let elements=[“你好”,20,67,“你好”,21,62,23,“欢迎”,44,251034,“输入”];
常量编号=元素。过滤器(元素=>typeof元素==“编号”);
让str=elements.filter(element=>typeof element==“string”);
让lis=document.getElementById(“mylist”);
让lis1=document.getElementById(“mylist1”);
str.forEach((项目)=>{
设li=document.createElement(“li”);
li.innerText=项目;
李氏;
});
编号。forEach((项目)=>{
设li=document.createElement(“li”);
li.innerText=项目;
lis1.儿童(李);
});
功能检查(el){
让toDel;//创建变量
if(isNaN(parseInt(el.value)){//如果变量是字符串
for(设lis.childNodes的x){//遍历“lis”元素的子元素
如果(x.innerText==el.value){//如果子级的内部文本与我们的输入匹配
toDel=x;//保留孩子
break;//停止循环
}
}
}else{//如果变量是数字
对于(lis1.childNodes的x){//对“lis1”执行相同的操作
如果(x.innerText==el.value){
toDel=x;
打破
}
}
}
如果(!toDel)return;//如果没有找到任何东西,请停在这里
德尔瓦尔常数=
isNaN(parseInt(toDel.innerText))//如果元素的文本是数字,
?toDel.innerText//将其作为一个数字存储在'delVal'中`
:parseInt(toDel.innerText);
if(!elements.includes(delVal))返回;//如果值不在elements中,请在此处停止
elements.splice(elements.indexOf(delVal),1);//从元素中删除值
toDel.remove();//从页面中删除元素
console.log(elements.length,elements);//记录新数组和数组长度
}
文件
去除
能否请您详细说明一下您的用例,例如要从哪个集合中删除什么?现在删除的函数或代码在哪里?你能用工具
为你的实际代码创建一个完整的(html+js)工作代码段吗?@SimoneRossaini添加了代码,但我没有完成功能代码,因为它让人困惑。你将我的答案标记为解决方案,然后将其删除。答案怎么了?当我检查数组值时,没有删除@LaytonGB