Suppose I have a list of the form `x={{a,b},{n1,n2,...}`

where n1,n2… are integers.

I want to write a function that checks whether each of n1,n2, etc. is greater than a limit. If that’s the case `x`

is set to `0.`

, else the function returns `x`

.

```
fc(x_List) :=Module({i, l}, l = Length(x((2)));
For(i = 1, i <= l, i++, If(x((2, i)) > smax, x = 0.; Break()));
x);
```

Let’s try it:

```
smax = 2; x = {{1,5}, {1, 2, 3, 4}};
fc(x)
(*=> fc(0.) *)
```

and not `0`

. What am I doing wrong in the definition of `fc`

? Also, is there a way to write `fc`

without usinf the `For`

loop?

**EDIT**

After discovering `AnyTrue`

thanks to the answer of @SneezeFor16Min who mentions `AllTrue`

the answer is

```
Clear(fc)
fc(x_List) := If(AnyTrue(x((2)), # > smax &), 0., x)
```