Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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_Arrays_Variables_Undefined - Fatal编程技术网

Javascript 如何在数组中隐藏未定义的变量

Javascript 如何在数组中隐藏未定义的变量,javascript,arrays,variables,undefined,Javascript,Arrays,Variables,Undefined,在你继续阅读之前,仅供参考……我不是那种每次都想不出解决问题的办法就跑到stackoverflow的人,但这一次真的让我头晕目眩 如何在数组中隐藏未定义的变量: var state_zip = address.split(',')[2]; 在输出数据时,我希望变量state_zip输出为空,而不是未定义 这些似乎对我也不起作用 ar more2 = address.split(',')[4];if (more2.split(',')[4]=="undefined"){more2=""} ar

在你继续阅读之前,仅供参考……我不是那种每次都想不出解决问题的办法就跑到stackoverflow的人,但这一次真的让我头晕目眩

如何在数组中隐藏未定义的变量:

var state_zip = address.split(',')[2];
在输出数据时,我希望变量state_zip输出为空,而不是未定义

这些似乎对我也不起作用

ar more2 = address.split(',')[4];if (more2.split(',')[4]=="undefined"){more2=""} 
ar more2 = address.split(',')[4];if (more2.split(' ')=="undefined"){more2=""}
任何能帮助我理解这一点的人都将不胜感激。我更多的是一个后端开发人员,所以这有点超出我的正常环境

尝试使用:

尝试使用:

不要在未定义的部分使用引号。您应该通过以下方式检查未定义的内容-

var more2 = address.split(',')[4];if (more2.split(',')[4]==undefined){more2=""} 
var more2 = address.split(',')[4];if (more2.split(' ')==undefined){more2=""}
在未定义的字符串周围使用引号时,基本上是在检查该变量是否包含未定义的字符串

jsfiddle上的一个函数

不要在未定义的周围使用引号。您应该通过以下方式检查未定义的内容-

var more2 = address.split(',')[4];if (more2.split(',')[4]==undefined){more2=""} 
var more2 = address.split(',')[4];if (more2.split(' ')==undefined){more2=""}
在未定义的字符串周围使用引号时,基本上是在检查该变量是否包含未定义的字符串


JSFIDLE上的未定义javascript关键字不是吗?你应该能做到

if(more2.split(',')[4] == undefined) more2 = "";

不需要引号。

未定义的javascript关键字不是吗?你应该能做到

if(more2.split(',')[4] == undefined) more2 = "";

不需要引号。

检查数组长度:

var arrAddress = address.split(',');
var more2 = (arrAddress.length >= 5) ? arrAddress[4] : "";
当您试图读取超出其边界的JS数组时,您会得到未定义的值-所以只需确保您在边界内,否则将分配空字符串

您可以通过使用以下函数使其更通用:

function GetItem(array, index) {
   return (index >= 0 && index < array.length) ? array[index] : "";
}

检查数组长度:

var arrAddress = address.split(',');
var more2 = (arrAddress.length >= 5) ? arrAddress[4] : "";
当您试图读取超出其边界的JS数组时,您会得到未定义的值-所以只需确保您在边界内,否则将分配空字符串

您可以通过使用以下函数使其更通用:

function GetItem(array, index) {
   return (index >= 0 && index < array.length) ? array[index] : "";
}

我认为使用jquery可以执行以下操作:

var more2=地址.拆分','

美元。每多2美元,功能I,功能I{

  more2[i] = (more2[i] == undefined) ? '' : more2[i];
});

我认为使用jquery可以执行以下操作:

var more2=地址.拆分','

美元。每多2美元,功能I,功能I{

  more2[i] = (more2[i] == undefined) ? '' : more2[i];
});

如果绳子太短,你可以把它垫起来

var template = ",,,," //a comma per expected entry
var address  = "123 street,town"

address = (address + template.substr(address.split(',').length)).split(",");

>>address = [123 street,town,,]

var state_zip = address[2];

>>state_zip = ""

如果绳子太短,你可以把它垫起来

var template = ",,,," //a comma per expected entry
var address  = "123 street,town"

address = (address + template.substr(address.split(',').length)).split(",");

>>address = [123 street,town,,]

var state_zip = address[2];

>>state_zip = ""

试着修剪它?另外,检查它在哪里显示数据,它没有什么要检查的,如果它是空的,说是未定义的,那么试着修剪它?另外,检查它在哪里显示数据,它没有什么要检查的,如果它是空的,说是未定义的,那么首先最好避免有未定义的。是的,但是更好一开始没有定义的空白。