intersect.md (1076B)
1 ---
2 title: intersect
3 linktitle: intersect
4 description: Returns the common elements of two arrays or slices, in the same order as the first array.
5 date: 2017-02-01
6 publishdate: 2017-02-01
7 lastmod: 2017-02-01
8 categories: [functions]
9 menu:
10 docs:
11 parent: "functions"
12 keywords: [collections,intersect,union,complement,symdiff]
13 signature: ["intersect SET1 SET2"]
14 workson: []
15 hugoversion:
16 relatedfuncs: []
17 deprecated: false
18 aliases: []
19 ---
20 An useful example is to use it as `AND` filters when combined with where:
21
22 ## AND filter in where query
23
24 ```
25 {{ $pages := where .Site.RegularPages "Type" "not in" (slice "page" "about") }}
26 {{ $pages := $pages | union (where .Site.RegularPages "Params.pinned" true) }}
27 {{ $pages := $pages | intersect (where .Site.RegularPages "Params.images" "!=" nil) }}
28 ```
29
30 The above fetches regular pages not of `page` or `about` type unless they are pinned. And finally, we exclude all pages with no `images` set in Page params.
31
32 See [union](/functions/union) for `OR`.
33
34
35 [partials]: /templates/partials/
36 [single]: /templates/single-page-templates/