如果某个数组索引中存在值,我该如何检查JavaScript?

这是否会用于测试位置“index”处的值是否存在,还是有更好的方法:

if(arrayName[index]==""){
     // do stuff
}

JavaScript中的所有数组都包含array.length元素,从array[0]开始直到array[array.length - 1] 。 根据定义,如果i介于0array.length - 1之间,则索引为i的数组元素被认为是数组的一部分。

也就是说,JavaScript数组是线性的,从零开始并达到最大值,并且数组没有从数组中排除某些值或范围的机制。 要找出一个值是否存在于一个给定的位置索引(索引是0或正整数),你可以直接使用

if (index < array.length) {
  // do stuff
}

但是,某些数组值可能为null, undefinedNaNInfinity ,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)