我有十个空值数组
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(""))
制作它的好方法是什么?
最佳答案
使用 filter
和 Boolean
从子数组中过滤非空元素,并在其上使用 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/