我有一个元素数组,其中的条目是稀疏的。我怎样才能轻松地将稀疏数组压缩成密集数组,这样我就不必在每次遍历数据时都检查 null 和 undefined 值?
这是一些示例数据:
var sparse = [];
sparse[1] = undefined;
sparse[5] = 3;
sparse[10] = null;
var dense = sparseToDenseArray(sparse);
// dense should be [3]
最佳答案
在 ES2017 (ES8) 中,这就像 Object.values(sparseArray)
一样简单
例如:
const sparseArray = [, , 'foo', 'bar', , 'baz', ,];
const compactArray = Object.values(sparseArray);
console.log(compactArray);
请注意,此方法仅删除间隙,根据需要向下移动现有数组元素的索引。它不会删除明确设置为 undefined
或 null
的元素。
关于javascript - 在 Javascript 中压缩稀疏数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11660090/