javascript - 我无法从数组中删除项目

标签 javascript jquery arrays

这是我在网上找到的有关如何从数组中删除项目的内容。 我使用 splice,但是当我打开控制台时它显示未定义。 如何使用 jquery 或 javascript 从数组中删除项目?

谢谢。

var images;

    function readURL2(input, where) {
        images = input;
        var counter = 0;
        var html = "";
        if (input.files && input.files[0]) {
            for (var i = 0; i < input.files.length; i++) {
                var reader = new FileReader();

                reader.onload = function (e) {
                    html += "<tr><td><img src='" + e.target.result + "' height='100'></td><td><button type='button' class='btn btn-danger' onclick='removeImg(" + counter + ")'><span class='fa fa-remove'></span> Remove</button></rd></tr>";

                    $(where).html(html);
                    counter++;
                }

                reader.readAsDataURL(input.files[i]);
            }
        }
    }

    function removeImg(imgIndex) {
        images.files.splice(imgIndex, 1);
        console.log(images.files);
        readURL2(images, "#miltiim");
    }

最佳答案

//从初始数组开始

var array = ["a", "b", "c"];

//从数组中查找并删除项目

var i = array.indexOf("b");
if(i != -1) {
    array.splice(i, 1);
}

当然,如果您想删除多次出现的同一字符串/数字,则需要添加更多逻辑:

for(var i = array.length-1; i--;){
    if (array[i] === "b") array.splice(i, 1);
}

您可能认为过滤方法会起作用...

array.filter(function(i) {
    return i != "b"
});

...但这将返回一个新数组,因此不会修改原始数组。

当您附近有可靠的代码片段时,从数组中删除给定值并不是一项太困难的任务!

-

来源:http://davidwalsh.name/remove-item-array-javascript

关于javascript - 我无法从数组中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26717161/

相关文章:

jquery - ASP.NET WebForms Web API jQuery - 404 错误

javascript - django rest框架上传文件

javascript - 为数据分配颜色

javascript - angularjs - 鼠标按下并在鼠标按下事件时在元素上移动?

javascript - Visual Studio 代码不会自动完成我的 javascript 方法

javascript - 如何使用set_id 重命名jstree 中的node_id?

javascript - 无法使用ajax存储结果

ios - 我们可以将搜索应用于从 json 解析中获取的数组的 TableView 吗

python - 比较python中numpy数组的元素

c++ - 从 C++ 中的函数返回数组