gpt4 book ai didi

javascript - 一个现有的 JS 方法来迭代像 find() 这样的数组,但将返回我的检查方法生成的值而不是数组元素

转载 作者:行者123 更新时间:2023-11-30 15:10:24 25 4
gpt4 key购买 nike

我发现自己想多次做同样的事情,我可以用 for 循环很容易地写出一些东西,但我发现自己想知道是否有一种现有的方法可以让我更容易地利用它。

我基本上想要像 find() 这样的东西,它会在数组的每个元素上运行一个方法来寻找我关心的元素。但是当我找到值时,我希望该方法返回我生成的任何值。

举个例子,我主要想要一个像这样的方法来检查错误值。想象一下,我有一些函数 foo 遍历数组,直到我返回一些东西,然后以该返回值退出。我可以用它来检查大型阵列的错误,做这样的事情......

const errorMessage = myArray.foo( (element) => {
if ( element.value < minValue ) {
return `{element.name} is less than {minValue}`;
}
if ( element.value > maxValue ) {
return `{element.name} is greater than {maxValue}`;
}

// insert other error checks
})

if (errorMessage)
Alerts.sendError(errorMessage);
else
// whatever I'd do if no error happened

我可以自己写这个,但是是否有一种现有的方法可以在原始 JS 中或在 underscore.js 等常见支持库之一中执行等效操作?

最佳答案

是的,有Array.prototype.some功能。

您的代码应如下所示:

var error = null;
const checkElementValue = function(element) {
if (element < minValue) {
error = `{element.name} is less than {minValue}`;
}
if (element.value > maxValue) {
error = `{element.name} is greater than {maxValue}`;
}
return (error !== null)
// insert other error checks
};

if (yourArray.some(checkElementValue)) {
console.log(error);
}

关于javascript - 一个现有的 JS 方法来迭代像 find() 这样的数组,但将返回我的检查方法生成的值而不是数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45191884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com