序列化-检查数组中的任何字符串是否包含字符串

问题描述

现在,我的模型具有包含单词数组的字段,例如将该行设置为['tag1','tag2','菠萝']

现在说某人搜索“ pine”或“ tag”。我想返回该数组中包含或等于该搜索词的字符串的所有实例/行吗?

因此,应返回该行,因为它与“ pineapple”中的“ pine”匹配。因此,我想做[内容包含]但也要获得不精确的匹配。如果有帮助,我会在生产中使用pgSQL。

解决方法

我不确定这是否是您想要的。我看一下数组中的任何字符串是否包含完整或部分的测试字符串,然后返回整个数组,否则返回空数组。

为此,我看一下array.some,如果至少有1个array-element在任何位置都包含测试字符串。如果是这样,我将返回完整的数组,否则返回一个空数组。

 let array = ['tag1','tag2','pineapple'];
 
 function strContained(str,array) {
     return (array.some(elem => elem.indexOf(str)!=-1)) ? array : [];
 };
 

 console.log(strContained('pine',array));
 console.log(strContained('pines',array));
 console.log(strContained('tag1',array));

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...