稀疏数组与密数组

港控/mmm° 2023-03-01 05:55 88阅读 0赞
  1. var ary = [0,1,2];
  2. ary[10] = 10;
  3. ary.filter(function(x) { return x === undefined;});

执行结果如何呢?

做这个题目,你需要了解稀疏数组和密集数组

  • 译 JavaScript中的稀疏数组与密集数组
  • Array/filter

看过源码的同学应该知道,filter源码中,会去判断数组的这个索引值是不是数组的一个属性

数组操作集合->从详细操作js数组到浅析v8中array.js

0 in ary; => true
3 in ary; => false
10 in ary; => true
也就是说 从 3 - 9 都是没有初始化的’坑’!, 这些索引并不存在与数组中. 在 array 的函数调用的时候是会跳过这些’坑’的.

所以答案就是[]

发表评论

表情:
评论列表 (有 0 条评论,88人围观)

还没有评论,来说两句吧...

相关阅读

    相关 稀疏数组

    1.先上来分析一下一个实际需求: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLm

    相关 数组稀疏数组

    1,实际问题分析 在编写五子棋程序时,需要进行存盘和读盘操作,对棋盘现状进行保存,因为该二维数组的很多值是默认值0,所以直接通过棋盘的二维数组记录可能会记录很多没有

    相关 稀疏数组

    概念 稀疏数组是一个十分有效的存储结构,在特定场景下能够节省存储空间 使用场景 当一个数组中大部分元素是0,或为同一个值的时候,可以使用稀疏数组来保存该数组 比