数据库数组转换为字符串|标志

时间:2015-10-31 07:55:42

标签: javascript node.js

我尝试使用字符串匹配()过滤数据库中的某些单词但是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/)

1 个答案:

答案 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"形式的字符串。

没有魔法;)