当页面第一次加载时,我需要检查image_array
中是否有图像,并加载最后一个图像。
否则,我禁用预览按钮,提醒用户按下新图像按钮,并创建一个空数组来放置图像;
问题是else
中的image\u数组一直处于激发状态。如果数组存在-它只是覆盖它,但警报不起作用。
if(image_array.length > 0)
$('#images').append('<img src="'+image_array[image_array.length-1]+'" class="images" id="1" />');
else{
$('#prev_image').attr('disabled', 'true');
$('#next_image').attr('disabled', 'true');
alert('Please get new image');
var image_array = [];
}
更新在加载html之前,我有这样的东西:
<?php if(count($images) != 0): ?>
<script type="text/javascript">
<?php echo "image_array = ".json_encode($images);?>
</script>
<?php endif; ?>
怎么样(ECMA 5.1):
if(Array.isArray(image_array) && image_array.length){
// array exists and is not empty
}
现代方式,ES5:
if (Array.isArray(array) && array.length) {
// array exists and is not empty
}
老派的方式:
typeof array != "undefined"
&& array != null
&& array.length != null
&& array.length > 0
紧凑的方式:
if (typeof array != "undefined" && array != null && array.length != null && array.length > 0) {
// array exists and is not empty
}
一种咖啡方式:
if array?.length > 0
Case Undefined
Undefined variable是一个您尚未为其分配任何内容的变量。
let array = new Array(); // "array" !== "array"
typeof array == "undefined"; // => true
Case Null
一般来说,Null是缺少值的状态。例如,当您丢失或检索某些数据失败时,变量为null。
array = searchData(); // can't find anything
array == null; // => true
Case not an Array
Javascript具有动态类型系统。这意味着我们不能保证变量持有什么类型的对象。我们有可能不是在谈论Array
的实例。
supposedToBeArray = new SomeObject();
typeof supposedToBeArray.length; // => "undefined"
array = new Array();
typeof array.length; // => "number"
Case Empty Array
现在,由于我们测试了所有其他可能性,我们正在讨论Array
的一个实例。为了确保它不是空的,我们询问它包含的元素的数量,并确保它包含的元素多于零。
firstArray = [];
firstArray.length > 0; // => false
secondArray = [1,2,3];
secondArray.length > 0; // => true
if (typeof image_array !== 'undefined' && image_array.length > 0) {
// the array is defined and has at least one element
}
您的问题可能是由于隐式全局变量和变量的混合而发生的。确保在声明变量时使用var
:
<?php echo "var image_array = ".json_encode($images);?>
// add var ^^^ here
然后确保以后不会意外地重新声明该变量:
else {
...
image_array = []; // no var here
}
问题内容: 在Objective-C中,当我有一个数组时 我想检查它是否不为空,我总是这样做: 这样一来,无需检查是否会因为这种情况将导致代码陷入错误,并且非空数组也会这样做。 但是,在Swift中,我偶然发现了一个可选数组: 而且我无法确定要使用哪种条件。我有一些选择,例如: 选项A:在相同条件下检查非用例和空用例: 选项B: 使用解除绑定数组: 选项C: 使用Swift提供的合并运算符: 我不
我正在使用AssertJ的类,我需要实现一个JUnit,它将以动态方式检查可选实例的存在性或空性: 在非参数测试中,我将使用或方法来执行检查,但在本例中,我希望应用类似于的内容。 我在JavaDoc中找不到这样的方法,所以我想知道是否有替代方法(或者我应该只处理?)
问题内容: 我有一个没有元素的数组,我正在尝试检查它是否为空。 例如,为什么下面代码中的if语句的条件永远不会为真? 问题答案: 数组和空数组之间有一个关键的区别。这是对的测试null。 “Empty”在这里没有官方含义。我选择将空定义为具有0个元素: 如果所有元素都是,则“空”的另一种定义是: 要么
问题内容: 如何检查numpy数组是否为空? 我使用了以下代码,但是如果数组包含零,则此操作将失败。 这是解决方案吗? 问题答案: 您可以随时查看属性。它定义为一个整数,并且在数组中没有元素时为零():
问题内容: 以下代码是我一直在使用的从sql数据库中检索用户信息的代码。 但是,当数据库中没有用户名等于LoginUser.Username的条目时,(dt!= null)不会返回false。有没有其他方法可以检查sqlcommand是否成功? 问题答案: 如果没有匹配的记录,您将得到一个空白,因此您可以检查返回的记录数: 并且,稍微偏离主题的地方,请阅读您的问题下方的注释,然后使用Google术