jef*_*eff 0 javascript arrays performance
我正在创建一个Web应用程序,其中用户从PHP获取数据,并且数据由MySQL行组成,因此我想将已使用的数据保存在全局变量中,类似于缓冲区,以防止额外的AJAX请求.
我现在正在这样做:
window.ray = []; // global variable
$(function(){
data = getDataWithAjax(idToSearch);
window.ray[data.id] = data.text;
});
Run Code Online (Sandbox Code Playgroud)
但是当id很大时,现在就说10,window.ray变成这样:
,,,,,,,,42
Run Code Online (Sandbox Code Playgroud)
所以它包含9个不必要的点.或者是吗?它只在我做的时候可见console.log(window.ray);
如果这是低效的,我想找到像PHP这样的方式,我只能分配我想要的索引,如:
$array['420'] = "abc";
$array['999'] = "xyz";
Run Code Online (Sandbox Code Playgroud)
我目前的方式与PHP一样高效,还是实际上包含不必要的内存点?
谢谢你的帮助 !
使用对象而不是数组.该对象将允许您使用id作为键,并且对于非顺序id值更有效.
window.ray = {}; // global variable
$(function(){
data = getDataWithAjax(idToSearch);
window.ray[data.id] = data.text;
});
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过id访问任何元素:
var text = window.ray[myId];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |