Javascript 从嵌套数组中获取非空元素的数目
我有十个空值数组Javascript 从嵌套数组中获取非空元素的数目,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有十个空值数组 onTable[0 to 10]; 看 我想得到每个数组的长度,不需要空值,也不需要创建十个变量来检查 我已经测试了这个解决方案 但是我不想做十个变量。例如:count1,count2, 我也检查了,但这不是我想要的 如果可能的话,我希望这个看起来像 onTable[0].length(exclude("")) 使用过滤器和布尔值从子数组中过滤非空元素,并在子数组上使用长度 onTable[0].filter(Boolean).length 由于空字符串在JavaScri
onTable[0 to 10];
看
我想得到每个数组的长度,不需要空值,也不需要创建十个变量来检查
我已经测试了这个解决方案
但是我不想做十个变量。例如:count1,count2,
我也检查了,但这不是我想要的
如果可能的话,我希望这个看起来像
onTable[0].length(exclude(""))
使用
过滤器和布尔值从子数组中过滤非空元素,并在子数组上使用长度
onTable[0].filter(Boolean).length
由于空字符串在JavaScript中是错误的,所以将从过滤数组中删除它
演示:
var-arr=[
[“Jean5”、“Jean3”、“Paul2”、“Jean6”、“Paul4”、“Jean”、“Peire4”、“Jean”],
[“保罗”、“佩雷6”、“佩雷3”、“珍妮4”、“保罗”、“佩雷5”、“珍妮2”、“保罗”
];
var len=arr[1]。过滤器(布尔)。长度;
文件。书写(len)
您可以根据需要使用过滤功能:将值检查为未定义
或空
等。
var-arr=[
[“Jean5”、“Jean3”、“Paul2”、“Jean6”、“Paul4”、“Jean”、“Peire4”、“Jean”],
[“保罗”、“佩雷6”、“佩雷3”、“珍妮4”、“保罗”、“佩雷5”、“珍妮2”、“保罗”
];
var len=arr[1]。过滤器(函数(x){return x!='')。长度;
文件。书写(len)代码>带有原型
:
Array.prototype.LengthWithTouentyValues=函数(){
var initialLength=this.length;
var finalLength=初始长度;
对于(变量i=0;i
您应该避免“浪费”内存和导致过多GC。您可以为每个子数组指定其非空值的计数:
sub.reduce(function(prev, cur) {
return prev + (!!cur);
}, 0);
为了处理整个主阵列,您可以将其调整到以下长度:
var-arr=[
[“Jean5”、“Jean3”、“Paul2”、“Jean6”、“Paul4”、“Jean”、“Peire4”、“Jean”],
[“保罗”、“佩雷6”、“佩雷3”、“珍尼4”、“保罗”、“佩雷5”、“珍尼2”、“珍尼2”],
[“Just1”、“”、“”]
];
变量长度=arr.map(函数(子){
返回sub.reduce(功能(上、当前){
返回上一个+(!!cur);
}, 0);
});
document.write('['+length.join('],[')+']')代码>使用filter()并删除空值,然后获取其长度我不想从arrayfilter中删除值将不会更新现有数组。。。。它只是返回新数组
sub.reduce(function(prev, cur) {
return prev + (!!cur);
}, 0);