我在javascript上使用String操作,我是JS的新手。这是我的代码。
function updateCLOB(row) {
var attrStr = row.get('CLOB_DATA');
if (attrStr == null && attrStr == undefined) {
return row;
} else {
var res = attrStr.split('||');
for (i = 0; i < res.length; i++) {
print('RES'=res[i]);
var temp = res[i].split('/');
var column = temp[4];
var value = temp[12];
row.put('WORKODR_' + column, value);
print('WORKODR_' + column + ' is ' + value);
}
}
return row;
}
我的Clob数据将是212323/2 / January / 3/4/5/6/7/1/3/3/4/5sd/123/45/56 || ........ ....
现在我在输出中得到“未定义”。
WORKODR_undefined未定义。
请让我知道我失踪了什么。
我尝试打印“res”值并将其打印为
RES2
RES1
RES2
.
.
.
它对每个角色的分裂。为什么会这样?
答案 0 :(得分:0)
此:
if(attrStr==null && attrStr==undefined){
应该是:
if(attrStr!=null && attrStr!=undefined){
我假设您要确保它不是null并且未定义如果您拥有的条件永远不会被满足它不能为null且未定义...
答案 1 :(得分:0)
尝试使用:
if(attrStr!=null && typeof(attrStr)!='undefined'){
答案 2 :(得分:0)
而不是
if (attrStr == null && attrStr == undefined) {
尝试使用
if (!attrStr) {
条件对null,undefined和零长度字符串有效。
答案 3 :(得分:0)
我找到了问题,问题出在||。因为我从一个java应用程序调用这个JS,我认为管道的转义是mandotary。
我用过 var res = attrStr.split('\ | \ |');瞧它工作了!