首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法读取未定义的属性“Symbol(Symbol.iterator)”

无法读取未定义的属性“Symbol(Symbol.iterator)”
EN

Stack Overflow用户
提问于 2017-06-02 20:45:19
回答 0查看 47.6K关注 0票数 12

我尝试循环通过一个数组,以检查它是否包含任何传递指定函数的项。为此,我向数组对象添加了一个.any()原型:

代码语言:javascript
复制
Array.prototype.any = (comparator) => {
    for(let item of this){
        if(comparator(item)){
            return true;
        }
    }
    return false;
};

然后像这样调用Array.any():

代码语言:javascript
复制
else if(users && users.any((user) => user.userName === user.userName)){
        res.status(400).send('Username already in use');
}

然而,这给了我以下错误:

代码语言:javascript
复制
TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined
at Array.any (C:\dev\nodejs\testproject\dist\routes\userRoutes.js:29:39)
at C:\dev\nodejs\testproject\dist\routes\userRoutes.js:87:56
at Query.<anonymous> (C:\dev\nodejs\testproject\node_modules\mongoose\lib\model.js:3748:16)
at C:\dev\nodejs\testproject\node_modules\kareem\index.js:277:21
at C:\dev\nodejs\testproject\node_modules\kareem\index.js:131:16
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)

在我看来,这个错误似乎表明原型函数中的'this‘是未定义的,但'this’是我为其检查是否未定义的用户数组。

不太确定是什么导致了这个问题,希望你能帮上忙。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44329324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档