我目前正在为json数组创建带有筛选器选项的搜索函数:
if (ploc != " - " ) {
var filteredarray7 = filteredarray6.filter(function(orte){
return orte['Painting Location'].indexOf(ploc) !== -1 ;
});
} else {
var filteredarray7 = filteredarray6;
}变量ploc可以是1-12的数字或字符串“- ",‘绘画位置’可以是字符串,如"1;2;4;12;”、"1“或"3;5;12”,而该字符串中的每个数字都类似于绘画位置的类别。
我的问题是:我需要做什么更改,即返回所有对象,例如,在字符串中包含1,而不是包含10、11、12的对象,除非1也是字符串的一部分。
对于我糟糕的英语,我已经很久没有用外语写东西了。
发布于 2020-02-15 14:54:24
如果我正确理解你,你最好使用正则表达式。
return orte['Painting Location'].search(new Regexp('(^|;)\s*' + ploc + '\s*($|;)')) != -1;或者:
return !!orte['Painting Location'].match(new Regexp('(^|;)\s*' + ploc + '\s*($|;)'));在这里阅读关于RegExp in JavaScript的文章。
https://stackoverflow.com/questions/60239786
复制相似问题