JavaScript 逐一执行多个函数/对象以查找结果的最佳实践

如何以管道/链的方式逐一执行多个 JavaScript 对象,当找到匹配项时退出并返回结果的最佳实践是什么?

        function a() {            // 找到结果             // 如果未找到返回 false            if (2===3){                return 'result A';            }else {                return false;            }        }        function b() {            // 如果 a() 返回 false            // True = 匹配结果            if (true){                return 'result B';            }else {                return false;            }        }        function c() {            // 如果在 b() 中未找到,在这里查找            if (true){                return 'result C';            }else {                return false;            }        }        function aibot() {            return a() || b() || c(); // 更多函数        }        console.log(aibot());

使用 js Promise 是否是一个好的解决方案?请提供一些建议。


回答:

你可以使用 some 方法和一个函数数组,以及一个值作为返回值,如果某个函数返回一个真值。

function a() { return false; }function b() { return 'result B'; }function c() { return 'result C'; }function aibot() {    var value;    [a, b, c].some(fn => value = fn());    return value;}console.log(aibot());

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注