Javascript 为数组的所有元素执行函数

Javascript 为数组的所有元素执行函数,javascript,node.js,arrays,function,loops,Javascript,Node.js,Arrays,Function,Loops,嘿,伙计们,我有一个由如下元素组成的数组 var arr=[‘美国’、‘法国’、‘房子’、‘巴黎’、‘桌子’、‘纽约] 我想从我的数据库中验证所有的数据是否都是州、国家或首都 这是我检查单个元素的示例代码 let isValid=wait db.worldDb.verifyQuery(查询) let验证 ['state'、'capital'、'country']包括(isValid.response)?验证=真:验证=假 我想将上述代码传递给数组中的所有元素,并创建一个通用函数,因此,如果测试失

嘿,伙计们,我有一个由如下元素组成的数组

var arr=[‘美国’、‘法国’、‘房子’、‘巴黎’、‘桌子’、‘纽约]

我想从我的数据库中验证所有的数据是否都是州、国家或首都

这是我检查单个元素的示例代码

let isValid=wait db.worldDb.verifyQuery(查询)

let验证
['state'、'capital'、'country']包括(isValid.response)?验证=真:验证=假


我想将上述代码传递给数组中的所有元素,并创建一个通用函数,因此,如果测试失败,则函数将返回false,但如果全部通过,则返回true。

Promise。所有这些都是您需要的

var arr = ['america','france','house','paris','table','new york']

try {
    await Promise.all(arr.map(async a => {
        const isValid = await db.worldDb.verifyQuery(query);

        const verified = ['state','capital','country'].includes(isValid.response);

        if(!verified) throw new Error();
    }));
    // here is ok
} catch(e) {
    // here is not verified
}

我想您可以使用Array.every()来实现这一点。它的工作方式类似于foreach循环,但如果回调函数对数组中的任何元素求值为false,则each函数将返回false


听起来像是你想要的。每个()