Javascript 数据库数组到字符串转换为除号
我试图用string match()从数据库中筛选一些单词,但事件给出了数组形式。 我使用模块来查询数据库中的列名Javascript 数据库数组到字符串转换为除号,javascript,node.js,Javascript,Node.js,我试图用string match()从数据库中筛选一些单词,但事件给出了数组形式。 我使用模块来查询数据库中的列名 con.query('SELECT name FROM droid_hastag_banned', function(error,result){ for (var i = 0; i < result.length; i++) { var arr = result[i].name; } });
con.query('SELECT name FROM droid_hastag_banned', function(error,result){
for (var i = 0; i < result.length; i++) {
var arr = result[i].name;
}
});
我需要这个格式
.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的说明,请参见<代码>数组.prototype.map()
进行了解释
说明: 结果以包含
对象的数组的形式出现。
除了其他属性外,生成的对象还有一个属性名称
。
为了仅从对象中提取名称,我使用了Array.prototype.map()
方法,该方法只对数组的每个成员应用一个函数:在本例中返回x.name
。对象数组已映射到字符串数组
exp
是一种简单的字符串连接,结合使用Array.prototype.join()
可以获得格式为“xx | xx | xx”
的字符串
没有魔法;) 这是结果-/^RT | RT |[object object]|[object object]|[object object]|[object object]|[object object]|[object object]|[object object]|[object object]|[object]/-这就是为什么我使用indexMy bad;)您必须输入.name
当然;)TypeError:无法读取未定义的属性“join”。我以前尝试过join()方法,但它也出现了相同的错误。这看起来应该更好。非常感谢您,这似乎很有效,我无法单独解决这个问题。查看解决方案似乎很复杂。
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"));