返回未定义的 Java 脚本

Java script returning undefined

本文关键字:脚本 Java 未定义 返回      更新时间:2023-09-26

我在javascript上使用字符串操作,我是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/1月/3/4/5/6/7/1/2/3/4/5sd/123/45/56||............

现在我在输出中得到"未定义"。

WORKODR_undefined未定义。

请让我知道我错过了什么。

我尝试打印"res"值并将其打印为

RES2
RES1
RES2
.
.
.

它在每个角色上分裂。为什么会这样?

这个:

if(attrStr==null && attrStr==undefined){

应该是:

if(attrStr!=null && attrStr!=undefined){

我假设您要确保它不为空且未定义,如果您拥有的条件永远无法满足,则它不能为空且未定义......

尝试使用:

if(attrStr!=null && typeof(attrStr)!='undefined'){

我发现了问题,问题出在||。由于我从java应用程序调用了这个JS,我认为管道的转义是人为的。

我用了 var res = attrStr.split('''|''|');瞧,它奏效了!

而不是

if (attrStr == null && attrStr == undefined) {

尝试使用

if (!attrStr) {

该条件对空、未定义和零长度字符串有效。