美文网首页
稀疏数组

稀疏数组

作者: working_Poor | 来源:发表于2018-12-29 10:21 被阅读0次
1、定义:没有从0开始的连续的index(注意连续的理解)

A sparse array is one in which the elements do not have contiguous indexes starting at 0

2、稀疏数组
var arr0 = [,,,]
var arr1 = [1,,2,]
var arr2 = new Array(3)
var arr3 = new Array()
arr3.length = 3
var arr4 = [1,2,3]
delete arr4[0] //delete只是删除了数组元素,但是位置还有空了下来
console.log(arr4) //[empty, 2, 3]
3、非稀疏数组
var arr4 = [1,2,3]
arr4.shift() 
var arr5 = [undefined, undefined, undefined]
var arr6 = new Array(3); arr6[0] = undefined; arr6[1] = undefined; arr6[2] = undefined
4、说明

(1)、虽然arr2,arr3和arr5,arr6看起来都是undefined,但是其实不一样。arr5和arr6都是显式初始化(赋值)每个元素为undefined。

5、判断一个数组是否为稀疏数组
方法一 : 
var realCount = 0;
array.forEach(function() { realCount ++;});
if(realCount !== array.length) console.log('稀疏数组');
原理:当作用与稀疏数组时,这些方法不会在实际上不存在的的元素序号上调用函数。
这些方法包括(foreach()、map()、filter()、every()、some())
方法二 : index in array,是否从0到array.length - 1这个表达式都返回true,如果不是,则表示为稀疏数组。
let arr1 = [undefined,,,]
for(var j = 0; j < arr1.length; j++ ) {
     //console.log(j in arr1)
    if(!(j in arr1)) {
        console.log('稀疏数组')
        break;
    }
}

相关文章

  • 稀疏数组

    1.稀疏数组 1.1创建一个指定长度的稀疏数组 new创建var a = new Array();>>(3)[em...

  • 稀疏数组

    当数组中的大部分元素为0,或者同一值时,可以使用稀疏数组来存储该数组,使用稀疏矩阵可以节约存储空间稀疏数组的处理方...

  • 稀疏数组

    1、稀疏算法的基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。从而减少计...

  • 稀疏数组

    二维数组转成稀疏数,案例(五子棋),思路:1.获取二维数组中有效数据的个数.2.稀疏数组的列数为3,行数通过有效数...

  • 稀疏数组

    1.当一个数组中大部分为0,或为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法: 1)...

  • 稀疏数组

    当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是:1)记录...

  • 稀疏数组

    稀疏数组基本概念 在我们存储有大量重复元素值的二维数组时,如果使用一般的二维数组可能会有大量重复元素,这样就会浪费...

  • 稀疏数组

    1、定义:没有从0开始的连续的index(注意连续的理解) A sparse array is one in wh...

  • 稀疏数组

    搞清楚稀疏数组之前,先得知道什么是二维数组 二维数组 二维数组相当于一维数组里面存了些一维数组 稀疏数组 可以看到...

  • 稀疏数组

    稀疏数组用于压缩需要存储的数组数据。 应用条件:非0值*3<原数组行*原数组列 public class Spar...

网友评论

      本文标题:稀疏数组

      本文链接:https://www.haomeiwen.com/subject/lpkulqtx.html