如果某个数组索引中存在值,我该如何检查JavaScript?
这是否会用于测试位置“index”处的值是否存在,还是有更好的方法:
if(arrayName[index]==""){
// do stuff
}
JavaScript中的所有数组都包含array.length
元素,从array[0]
开始直到array[array.length - 1]
。 根据定义,如果i
介于0
和array.length - 1
之间,则索引为i
的数组元素被认为是数组的一部分。
也就是说,JavaScript数组是线性的,从零开始并达到最大值,并且数组没有从数组中排除某些值或范围的机制。 要找出一个值是否存在于一个给定的位置索引(索引是0或正整数),你可以直接使用
if (index < array.length) {
// do stuff
}
但是,某些数组值可能为null, undefined
, NaN
, Infinity
,0或一组不同的值。 例如,如果通过增加array.length
属性来添加数组值,则任何新值都将是undefined
。
确定给定值是否有意义或已经定义。 也就是说, 不是 undefined
,或者是null
:
if (typeof array[index] !== 'undefined') {
要么
if (typeof array[index] !== 'undefined' && array[index] !== null) {
有趣的是,由于JavaScript的比较规则,我最后一个例子可以优化到:
if (array[index] != null) {
// The == and != operator consider null equal to only null or undefined
我们不能这样做:
if(arrayName.length > 0){
//or **if(arrayName.length)**
//this array is not empty
}else{
//this array is empty
}
仅使用.length
是不安全的,会在某些浏览器中导致错误。 这是一个更好的解决方案:
if(array && array.length){
// not empty
} else {
// empty
}
或者,我们可以使用:
Object.keys(__array__).length
链接地址: http://www.djcxy.com/p/78907.html
上一篇: How do I check in JavaScript if a value exists at a certain array index?
下一篇: Triads not showing up to fight? (Java Set missing an item)