我尝试使用字符串匹配()过滤数据库中的某些单词但是event会给出数组形式。 我使用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] .name;结果只有一行
RT
@Alex_TNT
@TopU3DAssets
@LatestAssetBot
@IndieLeverage
@Parodossy
@GameArtSleuth
我需要这种格式
.match(/^RT|RT|@TopU3DAssets|@LatestAssetBot|@IndieLeverage|@Parodossy|@GameArtSleuth|@Alex_TNT/)
答案 0 :(得分:3)
您可以简单地连接结果:
public void onBindViewHolder(ViewHolder viewholder, int position) {
viewholder.product_name_at_cart.setText(mDataset.get(position).getProduct_name());
viewholder.remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.w("gopal", "Gopal btn click");
Cursor m=ch.getcurrent_id();
if(m.moveToFirst()){
do{
int id=m.getInt(5);
Toast.makeText(???????, "Gopal id " + id, Toast.LENGTH_SHORT).show();
}while (m.moveToNext());
}
}
});
}
此Fiddle中使用了一种可能的实现方式。
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
的解释。 Array.prototype.map()
解释array
解释:
您的结果是包含objects
的{{1}}。
除了其他属性,结果对象具有属性name
。
为了仅从对象中提取名称,我使用了Array.prototype.map()
方法,该方法只是将函数应用于数组的每个成员:在本例中为return x.name
。对象数组是mapped
到字符串数组。
exp
只是字符串连接与Array.prototype.join()
的使用相结合,以获取"xx|xx|xx"
形式的字符串。
没有魔法;)