I have some code similar to the following.
let f1 = 'name'; //database field
let f2 = 'city'; //database field
let f3 = 'state'; //database field
let ds = '#dataset1';
let k = 'washington';
let newFilter = wixData.filter();
newFilter = newFilter.contains(f1, k)
.or(newFilter.contains(f2, k))
.or(newFilter.contains(f3, k));
$w(ds).setFilter(newFilter);
The above code works. But I want to make the number of database fields arbitrary
by doing something like this.
let f = ['name', 'city', 'county', 'state', 'country'];
let secondFilter = wixData.filter();
newFilter = newFilter.contains(f[0], k);
for(let i=1; i<f.length; i++)
newFilter = newFilter.or(secondFilter.contains(f[i],k));
$w(ds).setFilter(newFilter);
This does not seem to work. What am I doing wrong here?