相关疑难解决方法(0)

什么是密集阵列?

我从几页读到的密集阵列的解释似乎彼此矛盾.我想要一些帮助来理解它是什么.

虽然一些链接(搜索结果1,搜索结果2)表明它只是一个数组,其中:

  1. 已知数组的元素是特定值; 和
  2. 在初始化时分配给数组.

暗示JavaScript数组是密集的.

直到这里才有意义.

但是,这篇来自Mozilla开发者网络(MDN)JavaScript指南的声明说:

由于数组的长度可以随时改变,并且数据可以存储在数组中的非连续位置,因此不能保证 JavaScript数组 密集 ; 这取决于程序员如何选择使用它们.一般来说,这些都是方便的特征; 但如果这些功能不适合您的特定用途,您可以考虑使用类型化数组.

这让我很困惑.我的问题是:

MDN页面上的语句是什么意思,它说JavaScript数组不能保证密集?如果它意味着以下不是密集数组,因为它的一个或多个元素是undefined在初始化时,那么为什么我上面列出的链接似乎表明JavaScript数组确实是密集的?

var array = new Array(1, , 3, ); // [1, undefined, 3, undefined]
Run Code Online (Sandbox Code Playgroud)

javascript arrays

11
推荐指数
2
解决办法
3077
查看次数

计算JavaScript数组元素的出现次数并放入新的2d数组

嗨,我有这样的阵列

var a = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];
Run Code Online (Sandbox Code Playgroud)

我的目标是计算唯一值并报告其中的任何项目,结果很好

Array [
   [5, 3],
   [2, 5],
   [9, 1],
   [4, 1]
]
Run Code Online (Sandbox Code Playgroud)

我找到了一个解决方案,可以在另一篇文章中找到[ 计算JavaScript数组元素的出现次数

@Emissary解决方案对我来说是最好的,问题是这个解决方案过去并添加一些我不需要的新功能,我不能直接回复该帖子,询问如何只有我需要的数组:d

@Emissary加了

console.log(key +':'+ val)

我的第一个想法是,而不是console.log我可以推送2d数组中的每个值,但我认为这不是一个好主意,因为如果我很了解@Emissary解决方案,那么解决方案的第一部分就是我需要的数组.

知道如何"隔离"这个特定阵列吗?

javascript arrays

3
推荐指数
1
解决办法
342
查看次数

标签 统计

arrays ×2

javascript ×2