如何使用spilce从数组中删除对象? [英] How to remove an object from array using spilce?
问题描述
我最近问了一个问题 (如何在 javascript 中从数组中删除元素而不创建新元素?).
b1 = document.getElementById('b1')b2 = document.getElementById('b2')myArray = [b1, b2];
现在我必须使用这个数组两次,一次我需要从中选择随机元素并在其上应用一些属性,然后我需要弹出我应用了属性的元素.它也是数组中的一长串元素,所以我不知道它们的索引号.
为了更好的解释
blocks = [document.getElementById("b1"),document.getElementById("b2"),document.getElementById("b3"),document.getElementById("b4"),document.getElementById("b5"),document.getElementById("b6"),document.getElementById("b7"),document.getElementById("b8"),document.getElementById("b9")]//第一次使用功能自动机会(){const randomBlock = blocks[Math.floor(Math.random() * blocks.length)];randomBlock.style.backgroundColor='蓝色';}//第二次使用函数 b1Click(){b1.style.backgroundColor="红色"const index = blocks.indexOf('document.getElementById("b2")');blocks.splice(index, 1);控制台日志(块)自动机会()}//如果你在控制台看到它删除了最后一项
.blocks{宽度:310px;高度:304px;溢出包装:正常;背景颜色:浅绿色;}#b1,#b2,#b3,#b4,#b5,#b6,#b7,#b8,#b9{宽度:100px;高度:100px;位置:相对;}
<html lang="zh-cn"><头><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>文档</title><link rel="stylesheet" href="style.css">头部><身体><div class="blocks"><button id="b1" onclick="b1Click()"></button><button id="b2" onclick="b2Click()"></button><button id="b3" onclick="b3Click()"></button><button id="b4" onclick="b4Click()"></button><button id="b5" onclick="b5Click()"></button><button id="b6" onclick="b6Click()"></button><button id="b7" onclick="b7Click()"></button><button id="b8" onclick="b8Click()"></button><button id="b9" onclick="b9Click()"></button>
<script src="script.js"></script>