切片不会删除我的对象

时间:2016-12-18 15:34:54

标签: javascript node.js

我有一个函数,目的是搜索一个具有相同值的对象,为全局数组删除它并返回它但不删除

carousel();

            function carousel() {

            var i;
            var x = document.getElementsByClassName("mySlides");
            for (i = 0; i < x.length; i++) {
                x[i].style.display = "none"; 
            }
            slideIndex++;
            if (slideIndex > x.length) {slideIndex = 1} 
            x[slideIndex-1].style.display = "block"; 
            setTimeout(carousel, 5000); // Change image every 5 seconds
            showDivs(slideIndex);
            }

我需要删除该对象但由于某种原因它仍然存在,有人可以告诉我我做错了什么?

3 个答案:

答案 0 :(得分:4)

你应该使用

array.splice(start, deleteCount)

不是切片。

答案 1 :(得分:0)

您在数组上使用错误格式的参数使用slice()方法。如果要使用切片,则参数格式不同

slice(start, finish) 

例如slice(i, i+1)

答案 2 :(得分:0)

slice()不会改变数组,splice()

在您的示例中,您可以使用splice(i, 1)

下面是一些描述这两个函数的细节:

<强>切片:

  

slice(begin,end)方法返回数组部分的浅 副本   到从开始到结束选择的新数组对象(不包括结束)。   原始数组不会被修改。


剪接:

  

splice(start,deleteCount)方法通过删除来更改数组的内容   现有元素和/或添加新元素。