javascript - 从嵌套数组中获取非空元素的数量

标签 javascript jquery arrays

我有十个空值数组

onTable[0 to 10];

["Jean5", "Jean3", "Paul2", "Jean6", "", "Paul4", "Jean", "peirre4", ""]
["Paul5", "peirre6", "peirre3", "", "Jean4", "Paul", "peirre5", "Jean2", ""]
...

我想获取每个数组的长度,不带空值,也不创建十个变量来检查。

我已经测试了这个解决方案 count empty values in array但我不想做十个变量。即:count1, count2,...

我也查了compare two arrays based on length: skip empty values但这不是我想要的。

如果可能的话,我想要这个样子

onTable[0].length(exclude(""))

制作它的好方法是什么?

最佳答案

使用 filterBoolean 从子数组中过滤非空元素,并在其上使用 length

onTable[0].filter(Boolean).length

由于空字符串在 JavaScript 中是假的,它将从过滤后的数组中删除。

演示:

var arr = [
  ["Jean5", "Jean3", "Paul2", "Jean6", "", "Paul4", "Jean", "peirre4", ""],
  ["Paul5", "peirre6", "peirre3", "", "Jean4", "Paul", "peirre5", "Jean2", ""]
];

var len = arr[1].filter(Boolean).length;
document.write(len);

关于javascript - 从嵌套数组中获取非空元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33802875/

相关文章:

java - 将唯一的随机点添加到数组中

PHP在多维数组中找到第二大元素值

javascript - Macbook touch bar 的表单输入事件

javascript - 如何使用 D3JS 创建带有网格线的 SVG

javascript - 是否需要检查元素是否具有属性?

jquery - Highchart 在单个网页中显示多个条形图

java - Java中如何将Object的属性值转换为数组?

javascript - 使用另一个数组删除/过滤对象数组

php - 为什么我的返回不起作用?

javascript - 多次克隆对象并在 jQuery 中附加克隆