Longueur d'un tableau : length, size

Blogger - Length of the array - Longueur d'un tableau

Les termes length et size sont des suffixes que l'on ajoute aux tableaux de données Blogger pour obtenir le nombre de sets.



Longueur d'un tableau

Les réglages length et size sont identiques et ils travaillent avec les données de type array.

Explorateur de données Blogger - Les array

Techniquement, ils sont des données renfermées dans un objet, qui lui-même est contenu dans le tableau à régler. Lorsqu'ils sont appliqués à un tableau, ils renvoient une nouvelle valeur de type number correspondant au nombre de sets contenus dans ce tableau.

Échantillonnage des ressources


  length: number,
  size: number

En pratique, dans l'éditeur XML du thème, les réglages s'ajoutent au nom du tableau array :

Syntaxes de sortie

<!-- length -->
data:array.length

<!-- size -->
data:array.size

Exemple avec le tableau universel data:widgets :

<!-- length -->
<data:widgets.length/>

<!-- size -->
<data:widgets.size/>

Ces réglages peuvent également s'ajouter à la suite d'une opération qui est encadrée de parenthèses dont le résultat est de type array :

<!-- length -->
<b:eval expr='(data:widgets where (w => w.type == "HTML")).length'/>

<!-- size -->
<b:eval expr='(data:widgets where (w => w.type == "HTML")).size'/>


Blogger Humour - Smiley mathématicien calcule en boucle la valeur de PI.


Quelques exemples

En ajoutant l'un de ces réglages à la donnée, la valeur devient un nombre number et sera considérée comme tel dans les opérations.

Dans une opération mathématique

<b:eval expr='(data:posts.size - (data:posts.size % 2)) / 2'/>

Le nombre total d'articles sur la page courante divisé par 2.
Le modulo arrondi le résultat à l'unité.

Dans une opération de comparaison

<b:if cond='data:posts.length gt 5'>

</b:if>

L'opérateur de comparaison gt n'accepte que des opérandes dont la valeur sont des nombres.

Le nombre d'articles est plus grand que 5.

L'opération renverra une valeur vraie ou fausse.

Dans une opération lambda

<b:loop values='data:posts map (p => p.labels.size)' var='labelsPerPost'>

  <data:labelsPerPost/>

</b:loop>

La donnée est introduite dans un opérateur lambda qui se charge de récupérer le nombre de libellés par article.



Spotlight

Populaires cette semaine