JavaScript 数组找到属性并且进行判断的方法

   x.forEach((element) => {
        if (element.IsValid) {
            return element.Value;
        }
    })
    return "";

上面的代码没有中断,就算找到了满足条件的内容也没有跳出循环,还是会返回空。

这个问题是出在哪里呢?

It looks like you are iterating over an array ‘x’ and checking if each element’s property ‘IsValid’ is true. If it is true, you are returning the ‘Value’ property of that element. However, the return statement inside the forEach loop will not work as expected.

根据上面的说法是,我们期望通过对 X 数组进行循环,然后找到满足条件的后跳出循环。

但是我们使用的是 forEach 循环,这种循环方法是不会跳出来的。

You can achieve this by using the find method instead of forEach. Here is how you can modify the code:

可以做的是,使用 find 方法来替代 forEach 方法。

const validElement = x.find((element) => element.IsValid);
return validElement ? validElement.Value : "";

This code will find the first element in the array where ‘IsValid’ is true and return its ‘Value’ property.

上面的代码将会找到满足条件的第一个元素,并返回值。

If no such element is found, it will return an empty string.

如果没有找到满足条件的元素,那么将会返回空字符串。

最后的那句话就是对空字符串进行判断后返回。

1 Like