DataviewJS Snippet Showcase

Topic

Summary
  • How to use dv.func.contains in a case-sensitive string comparison?
  • How to use dv.func.icontains in a case-insensitive string comparison?

Test

Summary
  • dataview: v0.5.46

Input

Summary

dictionary files:

  • Location: “100_Project/01_dataviewjs/01_by_example/Q84_Contains/Q84_test_data”

folder: 03

  • filename : dic_19850301
---
Date: 1985-03-01
muddle: BLARG123 abc
---


folder: 04

  • filename : dic_19850401
---
Date: 1985-04-01
muddle: BLARG abc
---


folder: 05

  • filename : dic_19850501
---
Date: 1985-05-01
muddle: blarg456 abc
---


folder: 06

  • filename : dic_19850601
---
Date: 1985-06-01
muddle: blarg abc
---


DVJS10_icontains_and_TABLE

Summary

Main DVJS

Code Name Data type Group By Purposes Remark
DVJS10_icontains_and_TABLE muddle:
a string
no 1.To filter by muddle(An existence check)
2.To filter by muddle(case-insensitive)
3.To display the result as a table

Notes

Summary

The same codes:

  • To filter by muddle(case-insensitive)
Original Example10: DVJS
```JS
.where((page) => dv.func.contains(page.muddle.toLowerCase(), "blarg"))
```
Another Example11: DVJS
```JS
.where((page) => dv.func.contains(dv.func.lower(page.muddle), "blarg"))
```
Another Example12: DVJS
```JS
.where((page) => dv.func.icontains(page.muddle, "blarg")) 
```
Another Example21: DQL
```SQL
WHERE contains(lower(muddle), "blarg")
```
Another Example22: DQL
```SQL
WHERE icontains(muddle, "blarg")
```

Code DVJS10_icontains_and_TABLE

Summary_code
title: DVJS10_icontains_and_TABLE =>1.To filter by muddle(An existence check) 2.To filter by muddle(case-insensitive) 3.To display the result as a table
collapse: close
icon: 
color: 
```dataviewjs
// M11. define pages: gather relevant pages
// #####################################################################
let pages = dv
    .pages(
        '"100_Project/01_dataviewjs/01_by_example/Q84_Contains/Q84_test_data"'
    )
    .where((page) => page.muddle)
    .where((page) => dv.func.contains(page.muddle.toLowerCase(), "blarg"));
    //.sort((page) => page.file.name, "desc");


// M31.Output :
// #####################################################################
//dv.header(2, "pp"); //org
dv.table(
    ["File", "muddle"],
    pages.map((page) => [page.file.link, page.muddle])
);





Screenshots(DVJS10):


2 Likes