Development Tip

배열의 요소 수 계산

yourdevel 2021. 1. 6. 20:32
반응형

배열의 요소 수 계산


Twig의 배열에있는 항목 수를 계산하려고합니다. 이것은 내가 시도한 코드입니다.

{%for nc in notcount%}
{{ nc|length }}
{%endfor%}

그러나 이것은 배열의 값 중 하나의 문자열 길이 만 생성합니다.

{{nc}} 배열의 모든 값에 대한 출력을 생성하지만 (2 개 있음) 출력이 배열의 모든 정보가 아닌 숫자 2 (개수)가되기를 원합니다.


전체 배열에 길이 필터사용하십시오 . 그것은 단순한 문자열 이상에서 작동합니다.

{{ notcount|length }}

이것은 Denis Bubnov의 답변을 확장합니다.

저는 이것을 사용하여 배열 요소의 자식 값을 찾았습니다. 즉, Drupal 8 사이트에서 목차를 작성하기 위해 단락에 앵커 필드가있는 경우입니다.

{% set count = 0 %}
{% for anchor in items %}
    {% if anchor.content['#paragraph'].field_anchor_link.0.value %}
        {% set count = count + 1 %}
    {% endif %}
{% endfor %}

{% if count > 0 %}
 ---  build the toc here --
{% endif %}

길이를 가져 오는 모범 사례는 length필터를 사용 하여 시퀀스 또는 매핑의 항목 수 또는 문자열 길이를 반환하는 것입니다. 예를 들면 :{{ notcount | length }}

그러나 for루프 의 요소 수를 계산할 수 있습니다 . 예를 들면 :

{% set count = 0 %}
{% for nc in notcount %}
    {% set count = count + 1 %}
{% endfor %}

{{ count }}

이 솔루션은 조건별로 요소 수를 계산하려는 경우에 도움이됩니다. 예를 들어 name개체 내부 에 속성이 있고 이름이 비어 있지 않은 개체 수를 계산하려는 경우 :

{% set countNotEmpty = 0 %}
{% for nc in notcount if nc.name %}
    {% set countNotEmpty = countNotEmpty + 1 %}
{% endfor %}

{{ countNotEmpty }}

유용한 링크:

참조 URL : https://stackoverflow.com/questions/17665271/counting-the-number-of-elements-in-array

반응형