Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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 无法从null读取属性“length”_Javascript_Null_Netsuite - Fatal编程技术网

Javascript 无法从null读取属性“length”

Javascript 无法从null读取属性“length”,javascript,null,netsuite,Javascript,Null,Netsuite,在SuiteScript中,我试图运行保存的搜索,但出现了一个错误,无法从null读取属性“length”。 请参阅我的代码: if(search.length>0){ layout += '<tr height="1cm">'; layout += '</tr>'; layout += '<tr>'; layout += '<td align="right" border="0px" colspan="8" st

在SuiteScript中,我试图运行保存的搜索,但出现了一个错误,无法从null读取属性“length”。 请参阅我的代码:

 if(search.length>0){
    layout += '<tr height="1cm">';
    layout += '</tr>';
    layout += '<tr>';
    layout += '<td align="right" border="0px" colspan="8" style=\"font-size:12px;\">';
    for(var x = 0;x<search.length;x++){
    layout += iE(search[x].getText('account'))+'<br/>';
    }
    layout +=  '</td>';
    }
我也试过这个代码,但结果是一样的

if(search!==null %% search.length!==null){
            layout += '<tr height="1cm">';

            layout += '</tr>';
            layout += '<tr>';
            layout += '<td align="right" border="0px" colspan="8" style=\"font-size:12px;\">';
            for(var x = 0;x<search.length;x++){
                layout += iE(search[x].getText('account'))+'<br/>';

            }
            layout +=  '</td>';
            }
你应该做:

我搜索==null&&search.length==空的{

AND运算符为&&

也尝试 如果search&&search.length>0{

您应该执行以下操作:

ifsearch!==null&&search.length!==null{

AND运算符为&&

也尝试 如果search&&search.length>0{

请尝试使用&&

if(search!==null && search.length!==null){
尝试使用&&

if(search!==null && search.length!==null){
请按照@scarlet witch的建议将%%替换为(&A),并添加更多内容

我可以从您的问题中推断出,全局变量搜索在代码的某个点被设置为null,因为这是一个很大的问题,这里可能会出错,我建议使用并检查发生了什么

请更新您的问题,以便我们能够提供帮助。

请按照@scarlet witch的建议将%%替换为&&并添加更多内容

我可以从您的问题中推断出,全局变量搜索在代码的某个点被设置为null,因为这是一个很大的问题,这里可能会出错,我建议使用并检查发生了什么

请更新您的问题,以便我们能够提供帮助。

只需使用:ifsearch

注意,使用!==或===意味着JavaScript会同时检查变量类型和值

示例:

只需使用:ifsearch

注意,使用!==或===意味着JavaScript会同时检查变量类型和值

示例:


我想你应该检查一下它是否是数组

function isArray(obj){
   return !!obj && Array === obj.constructor;
}
并在if语句中使用它,如

if(isArray(search)){
   // implementation
}
我不知道为什么要检查search.length!==null如果要检查数组中是否有元素,则应按search.length>=0进行检查


除非显式设置ArrayVar.length=null,否则ArrayVar.length永远不能为null。默认情况下,它将为0。

我想您应该检查它是否为数组

function isArray(obj){
   return !!obj && Array === obj.constructor;
}
并在if语句中使用它,如

if(isArray(search)){
   // implementation
}
我不知道为什么要检查search.length!==null如果要检查数组中是否有元素,则应按search.length>=0进行检查


除非显式设置ArrayVar.length=null,否则ArrayVar.length永远不能为null。默认情况下,它将为0。

当执行到达此行时,搜索可能未定义。请尝试使用

if(typeof search !== "undefined" && search.length!==null){

当执行到达此行时,搜索可能未定义。请尝试使用

if(typeof search !== "undefined" && search.length!==null){

如何填充搜索变量?它应该是搜索结果吗

当您的搜索没有匹配结果时,nlapiSearchRecord返回null

检查这一点的最简单方法如下:

if search&&search.length{ //过程结果 } 每当我处理搜索和结果时,我遵循的模式是创建一个执行搜索并始终返回数组的函数,以及另一个包含处理单个搜索结果逻辑的函数

功能查找记录{ 变量过滤器=[…]; var列=[…]; //“||[]”子句确保我们总是返回一个数组,而不是null 返回NLAPISearchRecordType,null,筛选器,列| |[]; } 函数processResultresult{ //处理单一结果 } //运行搜索并处理所有结果 findRecords.mapprocessResult;
您可以在此处阅读有关处理null的更多信息:

如何填充搜索变量?它应该是搜索结果吗

当您的搜索没有匹配结果时,nlapiSearchRecord返回null

检查这一点的最简单方法如下:

if search&&search.length{ //过程结果 } 每当我处理搜索和结果时,我遵循的模式是创建一个执行搜索并始终返回数组的函数,以及另一个包含处理单个搜索结果逻辑的函数

功能查找记录{ 变量过滤器=[…]; var列=[…]; //“||[]”子句确保我们总是返回一个数组,而不是null 返回NLAPISearchRecordType,null,筛选器,列| |[]; } 函数processResultresult{ //处理单一结果 } //运行搜索并处理所有结果 findRecords.mapprocessResult;
您可以在此处阅读有关处理null的更多信息:

尝试将“搜索”记录到控制台,看看它是什么意思?抱歉,NetSuite中的新手必须执行ifsearch尝试将“搜索”记录到控制台,看看它是什么意思。抱歉,NetSuite中的新手必须执行ifsearch