I am looking to count the number of entries I have in an array in Twig. This is the code I've tried:
{%for nc in notcount%}
{{ nc|length }}
{%endfor%}
This however only produces the length of the string of one of the values in the array.
{{nc}}
will produce an output of all the values of the array (there are 2) but I want the output to be just the number 2 (the count) and not all the information in the array.
Just use the length filter on the whole array. It works on more than just strings:
This expands on the answer by Denis Bubnov.
I used this to find child values of array elements—namely if there was a anchor field in paragraphs on a Drupal 8 site to build a table of contents.
Best practice of getting length is use
length
filter returns the number of items of a sequence or mapping, or the length of a string. For example:{{ notcount | length }}
But you can calculate count of elements in
for
loop. For example:This solution helps if you want to calculate count of elements by condition, for example you have a property
name
inside object and you want to calculate count of objects with not empty names:Useful links:
length
set
for