Skip to main content
Problem Solver I
Jun 2, 2021 9:54 PM UTC
Solved

How do i use the last object in an array eg. item.product.images?

How would I go about using the last item in an array eg. item.product.images

 

To get the first image I’m using:

{{item.product.images.0.src}}

 

I’ve tried {{item.product.images.last.src}} without success.

Or is there any way to get the number of items in an array and save this as a variable

Eg. {% assign array_length = item.product.images | length %}

 

And then use this in the object call

 

{{item.product.images[array_length].src}}

    This topic has been closed for replies.
    Customer Ed.
    Jun 3, 2021 6:23 PM UTC

    Hey @TheSuburbs! I’d recommend this code: 
     

    {% for image in item.product.images %}{% if forloop.last %}{{ image.src }}{% endif %}{% endfor %}

     

    It will run through all the images until it gets to the last one, then grab the source URL for that last image. Hope this helps! 

    Elise

    3 replies

    Customer Ed.
    Jun 3, 2021 6:23 PM UTC

    Hey @TheSuburbs! I’d recommend this code: 
     

    {% for image in item.product.images %}{% if forloop.last %}{{ image.src }}{% endif %}{% endfor %}

     

    It will run through all the images until it gets to the last one, then grab the source URL for that last image. Hope this helps! 

    Elise

    Contributor IV
    Oct 31, 2022 5:18 PM UTC

    Hi @elisegaines ,

     

    How do we do the same with the 2nd, 3rd…, nth item?

     

    I tried {% for image in item.product.images %}{% if forloop.index == 2 %}{{ image.src }}{% endif %}{% endfor %} but it doesn’t work.

     

    Thanks for your help,
    Robin

    Contributor IV
    Oct 31, 2022 5:37 PM UTC

    This seems to work {% for image in item.product.images %}{% if forloop.counter == 2 %}{{ image.src }}{% endif %}{% endfor %}