Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字符串比较似乎不起作用_Javascript_String_String Comparison - Fatal编程技术网

Javascript 字符串比较似乎不起作用

Javascript 字符串比较似乎不起作用,javascript,string,string-comparison,Javascript,String,String Comparison,我必须在db中插入字符串,但如果它们在特定条件下出现,我想首先修改它们的值 例如,我有字符串Epatite,Epatite B,EpatiteáB,EpB3,希望在插入数据库之前将其更改为EP B 这是我的一段代码: // vaccines[index] is the string to compare var vac = makeUniform(vaccines[index]); const queryInsert = { text: 'INSERT INTO coverages (v

我必须在db中插入字符串,但如果它们在特定条件下出现,我想首先修改它们的值

例如,我有字符串
Epatite
Epatite B
EpatiteáB
EpB3
,希望在插入数据库之前将其更改为
EP B

这是我的一段代码:

// vaccines[index] is the string to compare
var vac = makeUniform(vaccines[index]);
const queryInsert = {
    text: 'INSERT INTO coverages (vaccine) VALUES ($1) ON CONFLICT DO NOTHING;',
    values: [vac]
}
var printText = '[INSERT Italy IN coverages]';
promises.push(postgreSQLlib.query(queryInsert, printText, false));

function makeUniform(val) {
    if(val === 'DIF' || val === 'Difterite') {
        return 'DIPH'; // diphtheria
    }
    else if(val === 'Epatite' || val === 'Epatite B' || val === 'EpatiteáB' || val === 'EpB3') {
        return 'EP B'; // hepatitis B
    }
    else if(val === 'HIB' || val === 'Hib3' || val === 'Hib') {
        return 'HIB'; // haemophilus influenzae B
    }
    else {
        return val;
    }
}
当我执行
时,按疫苗顺序从保险单中选择不同的疫苗在psql shell上,我得到:

DIPH
DT-DTP3
DTP3
EP A
EP B
EpatiteáB
Hib
HIB
M-MPR1
M-MPR1-MPRV ...
EpatiteáB
理论上应该在
epb
中更改。 为什么它不起作用


编辑1
疫苗[index]
来自一个在线pdf,我使用Node.js的


谢谢

请先用以下方法清理开发数据库:

UPDATE coverages set vaccine = 'EP B' WHERE vaccine LIKE 'Epatite%' OR vaccine = 'EpB3';
为其他人做类似的事情

尝试添加一个条件=(val==“Epatite%E1B%21”)


字符编码问题?@Teemu是否可能,我如何解决?请尝试使用子字符串“Epatite”进行匹配。查看此帖子以了解如何匹配子字符串。您执行的是插入,而不是更新,因此不会更改。
function makeUniform(val) {
    if(val === 'DIF' || val === 'Difterite') {
        return 'DIPH'; // diphtheria
    }
    else if(val === 'Epatite' || val === 'Epatite B' || val==="Epatite%E1B%21" || val === 'EpatiteáB' || val === 'EpB3') {
        return 'EP B'; // hepatitis B
    }
    else if(val === 'HIB' || val === 'Hib3' || val === 'Hib') {
        return 'HIB'; // haemophilus influenzae B
    }
    else {
        return val;
    }
}