Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用spilce从数组中删除对象?_Javascript_Html - Fatal编程技术网

Javascript 如何使用spilce从数组中删除对象?

Javascript 如何使用spilce从数组中删除对象?,javascript,html,Javascript,Html,我最近问了一个关于()的问题 现在我必须使用这个数组两次,一次我需要从中选择随机元素并在其上应用一些属性,第二次我需要弹出我应用属性的元素。而且数组中有很长的元素列表,所以我不知道它们的索引号 为了更好的解释 blocks=[document.getElementById(“b1”)、document.getElementById(“b2”)、document.getElementById(“b3”)、document.getElementById(“b4”)、document.getElem

我最近问了一个关于()的问题

现在我必须使用这个数组两次,一次我需要从中选择随机元素并在其上应用一些属性,第二次我需要弹出我应用属性的元素。而且数组中有很长的元素列表,所以我不知道它们的索引号

为了更好的解释

blocks=[document.getElementById(“b1”)、document.getElementById(“b2”)、document.getElementById(“b3”)、document.getElementById(“b4”)、document.getElementById(“b6”)、document.getElementById(“b7”)、document.getElementById(“b8”)、document.getElementById(“b9”)]
//首次使用
函数自动切换(){
const randomBlock=blocks[Math.floor(Math.random()*blocks.length)];
randomBlock.style.backgroundColor='blue';
}
//第二次使用
函数b1Click(){
b1.style.backgroundColor=“红色”
const index=blocks.indexOf('document.getElementById(“b2”));
块.拼接(索引,1);
console.log(块)
自动切换()
}
//如果您在控制台中看到它正在删除最后一项
.blocks{
宽度:310px;
高度:304px;
溢出包装:正常;
背景色:浅绿色;
}
#b1、b2、b3、b4、b5、b6、b7、b8、b9{
宽度:100px;
高度:100px;
位置:相对位置;
}

文件
正如我在我的中所说的,无论你在寻找什么,
indexOf
都会找到它,如果你将相同的东西传递到数组中的
indexOf
indexOf
有效地进行了
=
比较

现在,如果您希望通过检查对象的属性来查找对象的索引,或者使用子字符串查找字符串,或者不只是比较的任何内容,那么您可以使用回调(或者查找对象本身)

如何使用值将它们从数组中删除

同样的方法:使用条目的索引(如果你想保留相同的数组)或(如果你想创建一个新数组)。

正如我在我的文章中所说的,不管你在寻找什么,
indexOf
如果你将相同的内容传递到数组中的
indexOf
,就会找到它
indexOf
有效地进行了
=
比较

现在,如果您希望通过检查对象的属性来查找对象的索引,或者使用子字符串查找字符串,或者不只是比较的任何内容,那么您可以使用回调(或者查找对象本身)

如何使用值将它们从数组中删除


同样的方法:使用条目索引(如果要保留相同的数组)或(如果要创建新数组)。

签出此代码段。当您使用诸如
getElementsByTagName
之类的方法选择元素时,它可能不会返回数组。它可能是HTML集合或某些对象,具体取决于您选择的方法

如您所见(在控制台中),
最初是一个
对象
。要将其更改为数组,请参见我如何初始化
元素
,使用
[…]
代码的其余部分很容易理解。如果卡住了,请告诉我:)

var initially=document.getElementsByTagName('div'))
console.log(typeof(最初));
var元素=[…最初];
控制台日志(元素);
var-toSearch=document.querySelector('.four');
var ind=elements.indexOf(toSearch);
元件.拼接(ind,1);
控制台日志(元素)

签出此代码段。当您使用诸如
getElementsByTagName
之类的方法选择元素时,它可能不会返回数组。它可能是HTML集合或某些对象,具体取决于您选择的方法

如您所见(在控制台中),
最初是一个
对象
。要将其更改为数组,请参见我如何初始化
元素
,使用
[…]
代码的其余部分很容易理解。如果卡住了,请告诉我:)

var initially=document.getElementsByTagName('div'))
console.log(typeof(最初));
var元素=[…最初];
控制台日志(元素);
var-toSearch=document.querySelector('.four');
var ind=elements.indexOf(toSearch);
元件.拼接(ind,1);
控制台日志(元素)

我会根据元素数组的长度得到一个随机数,然后根据该数拼接数组,并从拼接中返回值。但是,该值将位于一个数组中,因此我需要返回该数组的第一个索引

var myArray=[0,1,2,3,4,5,6,7,8,9];
函数removeElement(){
让randomIndex=随机化(myArray.length);
让randomValueArr=myArray.splice(randomIndex,1);
设randomValue=randomValueArr[0];
console.log(随机值);
返回随机值;
}
函数随机化(最大值,最小值=0){
返回Math.floor(Math.random()*max+min)
}

单击我以删除元素
我将根据元素数组的长度获得一个随机数,然后根据该数字拼接数组并返回该拼接的值。但是,该值将位于一个数组中,因此我需要返回该数组的第一个索引

var myArray=[0,1,2,3,4,5,6,7,8,9];
函数removeElement(){
让randomIndex=随机化(myArray.length);
让randomValueArr=myArray.splice(randomIndex,1);
设randomValue=randomValueArr[0];
console.log(随机值);
返回随机值;
}
函数随机化(最大值,最小值=0){
返回Math.floor(Math.random()*max+min)
}

单击我删除元素
您所说的“使用值”是什么意思?请添加一个实际的示例。我不知道这些对象的索引号,所以我想使用示例中所示的名称删除它们,使用“c”首先获取其索引值,然后删除。请将代码与a和完整的错误消息一起添加。@Utkar
b1 = document.getElementById('b1')
b2 = document.getElementById('b2')
myArray = [b1 , b2];