JavaScript中利用Array filter() 方法压缩稀疏数组

什么是稀疏数组

    数组元素的索引不一定要连续的,它们之间可以有空缺。每个javaScript数组都有一个length属性。针对非稀疏数组,该属性就是数组元素的个数;针对稀疏数组,length比所有元素的个数要大。

Array filter() 方法会跳过稀疏数组中缺少的元素,它的返回数组总是稠密的。

(1)压缩稀疏数组的空缺:

var dense = sparse.filter( function(currentValue)
{ 
return true; 
}
);

(2)压缩稀疏数组的空缺,并且删除 undefined 和 null 元素:

var dense = sparse.filter( function(currentValue) 
{ 
return currentValue !== undefined && currentValue!= null;
} 
)

总结