数据库数组到string转换分割| 标志
我试图从数据库中过滤一些string匹配(),但事件给出数组forms。 我正在使用https://www.npmjs.com/package/node-mysql模块来查询数据库中的列名
con.query('SELECT name FROM droid_hastag_banned', function(error,result){ for (var i = 0; i < result.length; i++) { var arr = result[i].name; } });
目前查询输出是,如果我使用每个,否则结果[0]。 结果只有一行
RT @Alex_TNT @TopU3DAssets @LatestAssetBot @IndieLeverage @Parodossy @GameArtSleuth
我需要有这个格式
.match(/^RT|RT|@TopU3DAssets|@LatestAssetBot|@IndieLeverage|@Parodossy|@GameArtSleuth|@Alex_TNT/)
你可以简单地连接结果:
result = [{"name":"@Alex_TNT"},{"name":"@TopU3DAssets"},{"name":"@LatestAssetBot"}, {"name":"@IndieLeverage"},{"name":"@Parodossy"},{"name":"@GameArtSleuth"}] result=result.map(function(x){ return x.name; }); exp = "/^RT|RT|"+result.join("|")+"/"; r = RegExp(exp); console.log(r.test("@Alex_TNT"));
这个小提琴中使用了一个可能的实现。 Array.prototype.join
的解释在MDN上find。 Array.prototype.map()
被解释为ibd。
说明 :
您以包含objects
的array
forms得到结果。 除了其他属性外,结果对象还有一个属性name
。 为了仅从对象中提取名称,我使用了Array.prototype.map()
方法,该方法只不过是将函数应用于数组的每个成员:在这种情况下return x.name
。 对象数组被mapped
到一个string数组。
exp
是简单的串联结合使用Array.prototype.join()
得到一个forms为"xx|xx|xx"
的string。
没有魔法介入;)