Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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_Jquery_Arrays - Fatal编程技术网

Javascript 正在尝试查找数组是否已满

Javascript 正在尝试查找数组是否已满,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在使用JQuery来确定先前构建的具有确定数量索引的数组是否已满。 创建时,数组如下所示: ,,,,,, 我想做的就是看看每个职位是否都有人填补 所以基本上,我想测试一下 [x,x,x,x,x,x] 例如,如果 [x,x,x,,x,x] or if [x,,,,,] //return false, wrong... 非常感谢。读取数组大小不需要任何特定的jQuery内容。只是香草javascript有你需要的 var arrayMaxValues = 4; var testArray

我正在使用JQuery来确定先前构建的具有确定数量索引的数组是否已满。 创建时,数组如下所示:

,,,,,,
我想做的就是看看每个职位是否都有人填补

所以基本上,我想测试一下

[x,x,x,x,x,x]
例如,如果

[x,x,x,,x,x]  or if [x,,,,,] //return false, wrong...

非常感谢。

读取数组大小不需要任何特定的jQuery内容。只是香草javascript有你需要的

var arrayMaxValues = 4;
var testArray = [1,2,3,4];

if ( testArray.length == arrayMaxValues )
{
  alert( 'Array is full!' );
}
else if ( testArray.length > arrayMaxValues )
{
  alert( 'Array is overstuffed!' );
} else {
  alert( 'There's plenty of room!' );
}
编辑 啊,你把问题打了。所以,您想看看它们的数组是否有零null或未定义的值

function isArrayFull( arr )
{
  for ( var i = 0, l = arr.length; i < l; i++ )
  {
    if ( 'undefined' == typeof arr[i] || null === arr[i] )
    {
      return false
    }
  }
  return true;
}
函数isArrayFull(arr)
{
对于(变量i=0,l=arr.length;i
我知道这与Peter Bailey的函数是一样的,但我只想分享一下,因为这是一种使用内置阵列过滤功能的不同方法

因此,由于完整数组具有预定长度,您可以根据“未定义”和null对其进行过滤并比较长度,如下所示:

function isArrayFull(arr) {
   return arr.length === arr.filter(function(o) {
     return typeof o !== 'undefined' ||  o !== null;
   }).length;
}

如果用空值填充初始数组,如:

const arr=Array(9).fill(null);
然后您可以使用或类似于:

function isArrayFull(arr) {
   return arr.length === arr.filter(function(o) {
     return typeof o !== 'undefined' ||  o !== null;
   }).length;
}
//检查空值是否不存在
!arr.some(元素=>element==null)
//检查是否每个元素都不是null
arr.every(元素=>element!==null)

可以随意使用,因为当发现空值时,它们都会中断循环。

我认为他所追求的更像是试图找出数组中的任何值是空值还是空字符串。我认为你错了,因为数组的长度总是等于arrayMaxValues。我不想找出它的长度并进行比较,但如果每个索引项都有一个关联的值!=若要使用jQuery语法,可以使用$.each(arr,function(index,value){//logic here});也