27 lines
985 B
Plaintext
27 lines
985 B
Plaintext
:title
|
|
list_find
|
|
|
|
:sig
|
|
String list_find(StringList items, function<bool (String)> f, String fallback = "")
|
|
|
|
:see
|
|
StringList
|
|
0_DValue
|
|
filter
|
|
|
|
:content
|
|
Returns the first matching item or fallback.
|
|
|
|
These helpers keep common data-shaping code close to render code, routers, and configuration trees. They are useful for route lists, navigation items, cards, and records that need simple transformations before rendering.
|
|
|
|
```cpp
|
|
String route = list_find(routes, [](String s) { return(str_starts_with(s, "dashboard")); }, "index");
|
|
```
|
|
|
|
Prefer these helpers over open-coded loops when the transformation itself is the important part of the code. Use an explicit loop when mutation, error handling, or side effects are the main concern.
|
|
|
|
## Related Concepts
|
|
|
|
- JavaScript / React: `Array.map`, `Array.filter`, `Array.find`, object `pick`/`omit`, and grouping route or navigation records before rendering.
|
|
- PHP: `array_map`, `array_filter`, `array_unique`, and associative array projection.
|