Javascript 从jQuery中的对象数组中提取项

Javascript 从jQuery中的对象数组中提取项,javascript,jquery,arrays,Javascript,Jquery,Arrays,我真的很难理解这一点。我选择所有的图像标签都是基于它们是否在img标签的src中有单词/resize/(我认为它返回了一个数组…?)。然后我想检查每个src,看看在img标记的src位置是否指定了一个文件。如果图像确实存在,那么我想从数组中取出该图像,但它不会删除。它还说uncaughttypeerror:images.indexOf不是一个函数 这是我的密码- var images = []; var images = $(' img[src*="/resize/"]'); console.

我真的很难理解这一点。我选择所有的图像标签都是基于它们是否在img标签的src中有单词
/resize/
(我认为它返回了一个数组…?)。然后我想检查每个src,看看在img标记的src位置是否指定了一个文件。如果图像确实存在,那么我想从数组中取出该图像,但它不会删除。它还说
uncaughttypeerror:images.indexOf不是一个函数

这是我的密码-

var images = [];
var images = $(' img[src*="/resize/"]');

console.log(images);

$.each(images, function(key, value){
    var getFile = $(value).data('src');
    $.ajax({
        type: 'HEAD',
        url: getFile,
        success: function() {
            var index = images.indexOf(key);

            if (index > -1) {
                images.splice(index, 1);
            }
        },
        error: function() {

        }
    });
    x++;
});
有人能帮忙吗?这简直让我受不了……

构造函数返回jQuery对象。jQuery对象的行为很像一个数组,具有长度、切片方法等,以及索引为0、1、2…等的元素

但是jQuery对象不是真正的javascript
Array
,并且没有很多数组方法,比如
join
reverse
,或者在您的例子中是
indexOf


相反,您可以使用
索引
方法

你知道什么类型的
图像吗?它没有
indexOf
方法。因此,在最后,您希望收集服务器上没有相应文件的图像?基本上是dsfq。所有图像都已存在于
/files/
中。我想做的是检查它是否不存在于
/resize/files/
中,如果它不存在,那么就用src中所有
/resize/
但不存在于该目录中的图像创建一个重构数组,从
/files/
中获取原始图像文件并运行ajax裁剪脚本,它不是一个
数组
不,正如我所说,它的行为类似于一个数组,你可以在jQuery对象上调用数组方法(
Array.prototype.forEach.call(y=>console.log(y))
)。实际上,经常会遇到类似数组的对象。使用
document.querySelectorAll
时,将返回一个没有数组方法的
NodeList
。执行
Array.prototype.slice.call(nodeList,0)
将其作为真实数组返回(然后我们可以在其上映射、筛选、减少等)编辑:似乎我对其发表评论的人删除了他的评论,但我将此留在这里。