首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在javascript中访问多维数组的最有效方法

在javascript中访问多维数组的最有效方法
EN

Stack Overflow用户
提问于 2013-02-27 20:44:19
回答 2查看 1.5K关注 0票数 0

我在javascript中有一个n*n*n数组,我需要在其中执行大量的访问。

我不需要按顺序访问所有元素,但只需要在特定位置访问。我还希望,如果可能的话,不要分配数组单元的所有内存,直到它被使用(否则将直接占用几MB内存)。

我正在寻找最有效的方法来做到这一点。我尝试使用由构建键(x+ '#‘+y+ '#’+z)索引的字典,但它的效率不够高。

你能推荐一些其他有效的方法来实现这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2013-02-27 21:43:34

恐怕没有比字典方法更快的访问对象的方法了,因为这就是Javascript中的一切。要不分配内存,可以使用对象而不是数组:

代码语言:javascript
运行
AI代码解释
复制
var x = {};
var key = x + '#' + y + '#' + z;
x[key] = 'some value';

这至少会给你的内存带来担忧,但我不确定这是否真的是一个大问题。(而且,我甚至不确定如果使用数组,它是否会分配内存,因为我不熟悉Javascript中的内存分配)。

票数 1
EN

Stack Overflow用户

发布于 2013-02-27 22:44:51

我认为你的多维数组是非常好的。如果创建稀疏,它不会耗尽所有的内存,并且行为更像一个简单的“字典”对象-你也可以使用嵌套对象。然而,我建议嵌套查找将比在大型字典中更快,因为散列函数变得更简单,键更少。此外,从最里面的维度加载或迭代完整的数组将比从巨大的字典中查询每个单独的项要快得多。

毕竟,如果您实际上没有遇到任何重要的性能问题,请使用您认为更容易写/读/使用的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15122016

复制
相关文章
Swift 中的属性包装器
当处理代表某种状态形式的属性时,通常会在每次修改值时触发某种关联的逻辑。例如,我们可以根据一组规则验证每个新值,可以以某种方式转换分配的值,或者每当值更改时都可以通知一组观察者。
韦弦zhy
2021/04/08
2.7K0
CSS中的“>”是什么意思
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113498.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
4.1K0
css中的clear的作用是什么_css中class的用法
元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。
全栈程序员站长
2022/10/01
1.6K0
css中的clear的作用是什么_css中class的用法
java中的包装类
  通过查看源码或API文档,我们可以知道包装类再java.lang包下,而且所有包装类都是final修饰的,即不能被继承。里面维护的基本数据类型的变量value,也是final修饰的,不能更改,即一旦创建对象,其内容就不能修改。包装类主要分为三种不同类型:数值类型(Byte、Short、Integer、Long、Float和Double)、Character类型、Boolean类型。
别团等shy哥发育
2023/02/25
1.1K0
java中的包装类
CSS中,如何处理短内容和长内容?
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/02/04
1.9K0
CSS 中的定位(position)布局,是什么?
使用 position、left、right、top、bottom,可以改变元素现有位置,譬如让元素从正常布局流中跳出来,固定在页面某个位置上。
Learn-anything.cn
2021/12/10
5480
CSS 中的网格(grid)布局,是什么?
网格布局就是把页面拆分成很多小格子,用于对齐和摆放元素。有三个重要的属性:行(row)、列(column)、沟槽(gutter,表示行列的间隙)。
Learn-anything.cn
2021/12/10
3.1K0
CSS中的计数器
     <p>Place the flour in a large bowl, make a well in the centre and pour in the milk and eggs. Give the liquid mixture a quick whisk before incorporating the flour. Continue to whisk until you have a smooth batter.</p>
大江小浪
2018/07/25
1.3K0
【说站】css中hack是什么
因为不同的厂商或浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析并不相同,导致在不同浏览器环境下呈现不一致的页面展示效果。
很酷的站长
2022/11/24
4990
【说站】css中animation是什么
css3中提供了很强大的animation动画,它可以指定多个关键帧,从而允许定义更加丰富的自定义动画。
很酷的站长
2022/11/24
3630
【说站】css中animation是什么
【说站】css中transition是什么
通常情况下,CSS 属性变化是立即生效的,新的属性值在超级短的时间内替换掉旧的属性值,然后浏览器重新绘制样式内容(可能是 reflow 或者 repaint)。大部分情况下会感觉样式变化突兀,而transition则可以添加顺滑的一个变化效果。
很酷的站长
2022/11/24
3060
【说站】css中transition是什么
【说站】css中flex是什么
以上就是css中flex的介绍,希望对大家有所帮助。更多css学习指路:css教程
很酷的站长
2022/11/24
6700
Java-包装器类
所有的基本类型都有一个与之对应的类,这些类称为包装器类。对象包装器类是不可改变的,即一旦构造类包装器类,就不允许更改包装在其中的值。同时,对象包装器类还是final,因此不能定义它们的子类。
用户7886150
2021/02/02
6030
【说站】css中sticky属性是什么
1、position的新属性sticky,在屏幕范围内(viewport)设置sticky元素时,该元素的位置不会受到定位的影响。
很酷的站长
2022/11/23
5530
【说站】css中sticky属性是什么
【说站】css中couters函数是什么
1、counters函数也必须和content属性一起使用,用来显示CSS计数器。
很酷的站长
2022/11/24
2350
【说站】css中couters函数是什么
【说站】css中rotate函数是什么
2、指定的角度定义了旋转的量度。若角度为正,则顺时针方向旋转,否则逆时针方向旋转。旋转180°也被称为点反射。
很酷的站长
2022/11/24
6010
【说站】css中rotate函数是什么
【说站】css中clear属性是什么
1、用于规定元素哪一侧不允许浮动元素,默认值为none,表示不清除,左右两侧允许浮动元素。
很酷的站长
2022/11/23
5440
【说站】css中clear属性是什么
【说站】css中Grid模块是什么
1、为了创建一个有行和列的布局,Grid模块增加了18个新的CSS属性。grid-gap属性可用于CSS网格可以很容易地在列和行之间增加间距。这是行和列之间的简称。
很酷的站长
2022/11/24
4510
【说站】css中Grid模块是什么
在CSS中写 when/else 是什么体验
大家都知道CSS已经有@media、@support 查询形式的条件,可以非常灵活地选择对应的样式,然而还有一个新的提议叫做 when/else,这语法似乎看起来更加明了方便
@零一
2021/12/16
8480
【C++11】 包装器 | bind
function包装器 也被叫做 适配器 C++11中function本质是类模板,也是一个包装器
lovevivi
2023/10/17
2690
【C++11】 包装器 | bind

相似问题

相对包装器中的CSS居中内容

10

#CSS包装器无法识别内容

24

CSS拉伸包装器垂直封装内容

17

带有CSS样式的内容包装器问题

21

HTML/CSS -自动调整包装器中内容的宽度

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档