---
title: "forloop"

doc_type: static
doc_category: static
doc_version: v20270301
source_url:
  html: 'https://developer.shopline.com/zh-hans-cn/docs/sline/object/forloop'
  md: 'https://developer.shopline.com/zh-hans-cn/docs/sline/object/forloop.md'
---

# forloop


    当前 `for` 循环的信息。

    `forloop` object 仅在 [for](https://developer.shopline.com/zh-hans-cn/docs/sline/tag/for.md) tag 中可用。



## 属性

    <div>
    

        
<ObjectProperty
    name="first"
    types={[<Mdx>boolean</Mdx>]}
>
<ObjectSummary>
当前迭代是否为循环中的第一次迭代。
- `true`：是循环中的第一次迭代。
- `false`：不是循环中的第一次迭代。


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty
    name="index"
    types={[<Mdx>integer</Mdx>]}
>
<ObjectSummary>
当前迭代的索引（从 1 开始）。


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty
    name="index0"
    types={[<Mdx>integer</Mdx>]}
>
<ObjectSummary>
当前迭代的索引（从 0 开始）。


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty
    name="last"
    types={[<Mdx>boolean</Mdx>]}
>
<ObjectSummary>
当前迭代是否为循环中的最后一次迭代。
- `true`：是循环的最后一次迭代。
- `false`：不是循环的最后一次迭代。


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty
    name="length"
    types={[<Mdx>integer</Mdx>]}
>
<ObjectSummary>
循环中的总迭代次数。


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty
    name="parentloop"
    types={[<Mdx>[forloop](https://developer.shopline.com/zh-hans-cn/docs/sline/object/forloop.md)</Mdx>]}
>
<ObjectSummary>
父级 `forloop` object。如果当前 `for` 循环没有嵌套在另一个 `for` 循环中，则返回 `nil`。


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty
    name="rindex"
    types={[<Mdx>integer</Mdx>]}
>
<ObjectSummary>
当前迭代的倒序索引（从 1 开始）。


</ObjectSummary>
</ObjectProperty>
        
<ObjectProperty
    name="rindex0"
    types={[<Mdx>integer</Mdx>]}
>
<ObjectSummary>
当前迭代的倒序索引（从 0 开始）。


</ObjectSummary>
</ObjectProperty>
        
    
    </div>



    
## 例子

        
            ### 单层循环

            以下示例展示了如何使用单层循环遍历数组，并通过 `forloop.index` 获取当前循环的索引。

            

            
<SlineExample path={''} objects={ 
    [""] 
}>
```sline
{{#var arr = "one,two,three" | split(",") /}}

{{#for item in arr}}
 - {{ forloop.index }} {{ item }}
{{/for}}
```
</SlineExample>
            
        
            ### 嵌套循环

            以下示例展示了如何在嵌套循环中进行多层遍历，并利用 `forloop.parentloop.index` 跨层级获取外层（父级）循环的索引。

            

            
<SlineExample path={''} objects={ 
    [""] 
}>
```sline
{{#var arr1 = "one,two,three" | split(",") /}}
{{#var arr2 = "four,five,six" | split(",") /}}

{{#for item1 in arr1}}
 - parent: {{ forloop.index }} {{ item1 }}
 {{#for item2 in arr2}}
     - nested: {{ forloop.index }} {{ item2 }} parent: {{forloop.parentloop.index}}
 {{/for}}
{{/for}}
```
</SlineExample>
            
        
    
